среда, 28 ноября 2012 г.


Задание №2

 

9.       Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер третьего положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте). Если в массиве меньше, чем три положительных элемента, вывести сообщение об этом. 
 
 
Паскаль
Естественный язык
Const N=30 ;
Var  a :  array  [1..N]  of  integer ;
        i,  j, k :  integer ;
begin
    for  i : =1  to  N  do  readln (a [i]) ;
   
end.
Объявляем массив А из 30 элементов. Объявляем целочисленные переменные i, j, k. В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.
 
   В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находится на месте многоточия.

Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
const nmax=20;
var a: array [1..nmax] of integer;
    i,n,k,ii: byte;
begin
repeat
write('n (ne bolee ',nmax,')='); readln(n);
until n in [1..nmax];
for i:=1 to n do
    begin
    a[i]:=random(19)-9;
    write(a[i]:3);
    if a[i]>0 then
       begin
       inc(k);
       if k=3 then ii:=i;
       end;
    end;
writeln;
if k>=3 then writeln('Третий положительный элемент=',a[ii],', под индексом ',ii)
   else writeln('В массиве нет трех положительных элементов');
end.

1 комментарий:

  1. 1)??? Формулировка задания взята не из блога
    2)Дан целочисленный массив из 30 элементов,а в программе :const nmax=20;
    var a: array [1..nmax] of integer;
    3) n in [1..nmax] - этого мы еще не проходили
    У меня возникли сомнения по поводу твоего авторства

    ОтветитьУдалить