Одномерный массив из n элементов заполнен случайными числами (n> 10). сформировать из него матрицу, содержащую по 4 элемента в строке. недостающие элементы в последней строке (если будут) заполнить нулями.
Program gt; var n,i:integer; a:array[1..1000]of integer; begin randomize; read(n); for i:=1 to n do a[i]:=random(40)-20; for i:=1 to n do begin write(a[i]:4,' '); if(i mod 4=0)then writeln; end; for i:=1 to 4-n mod 4 do write(0:4,' '); end.
var x: array[1..n] of integer; i, k, d, s: integer;
begin Randomize; Writeln('Элементы массива'); k := 0; s := 0; for i := 1 to n do begin d := Random(11) - 5; Write(d:3); if (i mod 2) = 0 then begin { четное место } if d = 1 then Inc(k); x[i] := d end else begin if d < 0 then s := s + d; x[i] := sqr(d) end end; Writeln; Writeln('Результирующий массив'); for i := 1 to n do Write(x[i]:3); Writeln; Writeln('Количество единиц на четных местах равно ', k); Writeln('Сумма отрицательных элементов на нечетных местах равна ', s) end.
Тестовое решение: Элементы массива -3 0 -5 1 5 1 -3 -4 5 -3 -2 Результирующий массив 9 0 25 1 25 1 9 -4 25 -3 4 Количество единиц на четных местах равно 2 Сумма отрицательных элементов на нечетных местах равна -13
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
var n,i:integer;
a:array[1..1000]of integer;
begin
randomize;
read(n);
for i:=1 to n do
a[i]:=random(40)-20;
for i:=1 to n do
begin
write(a[i]:4,' ');
if(i mod 4=0)then writeln;
end;
for i:=1 to 4-n mod 4 do
write(0:4,' ');
end.