Ввести 2 одномерных массива a и b целого типа сформировать новый массив c, переписав в него массив c наименьшим количеством нулей,а затем -массив с большим количество нулей.
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017 // Внимание! Если программа не работает, обновите версию!
begin Write('Укажите длины массивов А и В: '); var (n1,n2):=ReadInteger2; var a:=ArrRandom(n1,-5,5); Write('A: '); a.Println; var b:=ArrRandom(n2,-5,5); Write('B: '); b.Println; (n1,n2):=(a.Where(x->x=0).Count,b.Where(x->x=0).Count); var c:array of integer; if n1<=n2 then c:=a.Concat(b).ToArray else c:=b.Concat(a).ToArray; Write('C: '); c.Println end.
1) Program n1; var n,i:integer; t:array[1..100] of real; a,b:real; begin readln(n); readln(a); readln(b); for i:=1 to n do begin t[i]:=(b-a)/n; write(t[i],' '); end; end. 2) Program n1; var a:array[1..100] of integer; n,i:integer; k:real; begin read(n); k:=0; for i:=1 to n do read(a[i]); for i:=1 to n do if a[i] mod 2 <> 0 then k:=k+1; writeln; writeln('кол-во нечет. чисел равно ',k,''); end. 6) Program n1; var a:array[1..100] of real; i,n:integer; s,sr:real; begin read(n); for i:=1 to n do read(a[i]); s:=0; sr:=0; for i:=1 to n do s:=s+a[i]; sr:=s/n; writeln('сред. арифметическое равно ',sr,''); end. 7) Program n1; var a:array[1..100] of real; i,n:integer; min,max:real; begin read(n); for i:=1 to n do read(a[i]); min:=a[1]; for i:=2 to n do if a[i]<min then min:=a[i]; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; writeln('максимальный элемент равен ',max,''); writeln('минимальный элемент равен ',min,''); end. 8) Program n1; var a:array[1..100] of real; i,n:integer; min,max,nom1,nom2:real; begin read(n); for i:=1 to n do read(a[i]); min:=a[1]; nom1:=1; for i:=2 to n do if a[i]<min then begin min:=a[i]; nom1:=i; end; max:=a[1]; nom2:=1; for i:=2 to n do if a[i]>max then begin max:=a[i]; nom2:=i; end; writeln('максимальный элемент равен ',max,', его номер ',nom2,''); writeln('минимальный элемент равен ',min,', его номер ',nom1,''); end. 9) Program n1; var a:array[1..100] of real; i,n:integer; min,max,s,sr:real; begin read(n); randomize; for i:=1 to n do begin a[i]:=random(100)+1; write(a[i],' '); end; writeln; s:=0; sr:=0; for i:=1 to n do s:=s+a[i]; sr:=s/n; writeln('ср. арифм. = ',sr,''); min:=a[1]; for i:=2 to n do if a[i]<min then min:=a[i]; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; writeln('максимальный элемент равен ',max,''); writeln('минимальный элемент равен ',min,''); end.
Var s : String; n : Integer; Function IncS(a : String) : String; Begin a[Length(a)]:=Chr(Ord(a[Length(a)])+1); If a[Length(a)]>'D' then IncS:=IncS(Copy(a,1,Length(a)-1))+'A' else IncS:=a; end; Function Check(a : String) : Boolean; Begin Check:=False; If (Pos('A',a)>0) then Begin Delete(a,Pos('A',a),1); If (Pos('A',a)>0) then Check:=True; end; end; Begin s:=''; n:=0; While s<>'' do Begin { Writeln(s); } If Check(s) then Inc(n); s:=IncS(s); end; Writeln(n); end.
// Внимание! Если программа не работает, обновите версию!
begin
Write('Укажите длины массивов А и В: ');
var (n1,n2):=ReadInteger2;
var a:=ArrRandom(n1,-5,5); Write('A: '); a.Println;
var b:=ArrRandom(n2,-5,5); Write('B: '); b.Println;
(n1,n2):=(a.Where(x->x=0).Count,b.Where(x->x=0).Count);
var c:array of integer;
if n1<=n2 then c:=a.Concat(b).ToArray
else c:=b.Concat(a).ToArray;
Write('C: '); c.Println
end.
Пример
Укажите длины массивов А и В: 10 8
A: 0 4 4 1 4 0 -2 0 5 -3
B: 0 -3 5 4 -1 -2 5 1
C: 0 -3 5 4 -1 -2 5 1 0 4 4 1 4 0 -2 0 5 -3