1. даны целые чисала А1, А2, А3...Аn наименьший член последовательности А1, А2, А3...Аn заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения . Если в последовательности несколько членов со значением min (А1, А2, А3...Аn ), то заменить последний по порядку.
2. var k: integer;
c: array [1..n, 1..m] of char;
определить к-количество различных элементов масссива с (т. е. повторяющиеся элементы считать один раз)
3. Дана (прочно) вещественная матрица размером NxM. перераставляя ее строки и столбцы добиться того чтобы наибольший элемент (один из них) оказался в верхнем левом углу
uses crt;
var a:array[1..100] of integer; sr,i,n,min:integer;
begin
randomize;
clrscr;
writeln;
write('Введите количество элементов в последовательности: '); readln(n);
writeln;
for i:=1 to n do
begin
a[i]:=random(10);
write(a[i],' ');
sr:=sr+a[i]
end;
sr:=sr div n;
min:=1;
for i:=2 to n do
if a[i]<=a[min] then min:=i;
a[min]:=sr;
writeln;
for i:=1 to n do
write(a[i],' ');
writeln;
readkey
end.
Unknown, ты уверен, что здесь:
min:=a[1];
for i:=2 to n do
if a[ i ]<=min then min:=a[ i ];
a[ i ]:=sr; { <--- Здесь !!! }
Прошу прощения, уже сам все заметил и исправил...
program T4_V1_3;
uses crt;
var
a:array[1..5,1..5] of integer;
i,j,k,l,n,m,z,x:integer;
begin
clrscr;
randomize;
writeln;
write('Vvedite n: ');
readln(n);
writeln;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(10);
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
m:=1;
while m<=n do
begin
k:=m;l:=m;
for i:=1 to n do
for j:=1 to n do
if ((i<>j) or ((i=j) and (i>m))) and (a[i,j]>a[k,l])
then begin k:=i; l:=j end;
if not ((k=m) and (l=m)) then
begin
a[m,m]:=a[k,l]-a[m,m];
a[k,l]:=a[k,l]-a[m,m];
a[m,m]:=a[k,l]+a[m,m]
end;
inc(m);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
readkey
end.