shymilin19951783
?>

Заполнить массив случайными числами в интервале и переставить элементы так, чтобы все положительные элементы стояли в начале массива, а все отрицательные и нули – в конце. program p2; var i, c:integer; a:array[1..10] of integer; b:array[1..10] of integer; begin for i:=1 to 10 do begin a[i]:=random(1000)-10; write(a[i], ' '); end; c:=1; for i:=1 to 10 do begin if a[i]>0 then begin b[c]:=a[i]; c:=c+1; end; end; for i:=1 to 10 do begin if a[i]<=0 then begin b[c]:=b[i]; c:=c+1; end; end; for i:=1 to 10 do writeln(' '); for i:=1 to 10 do write(b[i]:4, ' '); writeln; end. Вот написала, не выводит. Какая ошибка

Информатика

Ответы

gon4arovanat6

//PascalABC.Net 3.1 сборка 1200

var

   number: integer;

   sum, sum_all, k: integer;

begin

   repeat

       write('Элемент последовательности => ');

       readln(number);

       

       if (number mod 10 = 2 ) and (number mod 4 = 0) then sum := sum + number;

       if (number <= 100) then k := k + 1;

       sum_all := sum_all + number;

   until number = 0;

   

   writeln('Сумма всех чисел, которые кратны 4 и заканчиваются на цифру 2 = ', sum);

   writeln('Сумма всех = ', sum_all);

   writeln('Кол-во чисел, которые не больше 100 = ', k);

end.

artem-dom

нумерация элементов, а соответственно и строк в массиве начинается с 0

программа не проверяет введенные данные на корректность, то есть если ввести номер строки выходящий за рамки массива то будет ошибка.

так как не было указано где брать элементы массива то он заполняется случайными числами в диапозоне 0..100

var

   n, k : integer;

   a : real;

   var d : array[,] of real;

begin

   write('введите размер матрицы n=');

   readln(n);

   d := new real[n,n];

   for var i := 0 to n-1 do begin

       for var j := 0 to n-1 do d[i,j] := random(101);

   end;

   write('введите номер строки k=');

   readln(k);

   a := d[k,k];

   for var i := 0 to n-1 do if d[k,k] <> 0 then d[k,i] := d[k,i]/a;

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Заполнить массив случайными числами в интервале и переставить элементы так, чтобы все положительные элементы стояли в начале массива, а все отрицательные и нули – в конце. program p2; var i, c:integer; a:array[1..10] of integer; b:array[1..10] of integer; begin for i:=1 to 10 do begin a[i]:=random(1000)-10; write(a[i], ' '); end; c:=1; for i:=1 to 10 do begin if a[i]>0 then begin b[c]:=a[i]; c:=c+1; end; end; for i:=1 to 10 do begin if a[i]<=0 then begin b[c]:=b[i]; c:=c+1; end; end; for i:=1 to 10 do writeln(' '); for i:=1 to 10 do write(b[i]:4, ' '); writeln; end. Вот написала, не выводит. Какая ошибка
Ваше имя (никнейм)*
Email*
Комментарий*