07.04.2008, 10:49
общий
это ответ
Здравствуйте, Осипова Анна Олеговна!
В приложениии решение второй и третьей задач. В первой задаче действительно нужно найти конкретно десятичные числа,т.е. в десятеричной системе счисления или это просто само собой разумется. Просто отличать числа десятичные от чисел в ситемах с меньшим основанием довольно трудно. Если сможете, уточните условие.
Комментарии ко второй задаче минимальны, там все ясно. К третьей задаче - более подробные, задача намногог сложнее. Удачи Вам!
Приложение:
Задача 2.program per_str;uses crt;var a:array[1..10,1..10] of integer; n,m,i,j,x:integer;beginclrscr;write(‘m= ‘);readln(m);write(‘n= ‘);readln(n);randomize;for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(10); write(a[i,j]:3); end; writeln; end;readln;for j:=1 to n do begin {меняем местами элементы первой и последней строк} x:=a[1,j];a[1,j]:=a[m,j];a[m,j]:=x; end;for i:=1 to m do begin for j:=1 to n do write(a[i,j]:3); writeln; end;readln;end.Задача 3.uses crt;const n=5; m=6;var a:array[1..n,1..m]of integer; mn:set of byte; {множество используем для получения неповторяющихся чисел} b:array[1..n*m]of integer;{вспомогательный линейный массив для сортировки матрицы} i,j,min,max,imin,jmin,imax,jmax,k,x:integer;beginclrscr;mn:=[];randomize;writeln(‘Ishodnaia matrica:‘);for i:=1 to n do begin for j:=1 to m do begin {заполняем матрицу случайными неповторяющимися числами от 1 до 30} repeat a[i,j]:=random(n*m)+1; until not (a[i,j] in mn); include(mn,a[i,j]); write(a[i,j]:4); end; writeln; end;readln;{Поиск максимального среди минимальных в строках}max:=0;for i:=1 to n do begin min:=a[i,1];jmin:=1; for j:=1 to m do if a[i,j]<min then begin min:=a[i,j];{минимальный в строке} jmin:=j; end; if min>max then begin max:=min; {если в сл.строке мин >, то max присваиваем ему} imax:=i;{номер строки} jmax:=jmin; {номер столбца} end; end;writeln(‘max=‘,max,‘ imax=‘,imax,‘ jmax=‘,jmax);readln;{разворачиваем матрицу в линейный массив}k:=0;for i:=1 to n dofor j:=1 to m dobegink:=k+1;b[k]:=a[i,j];end;{Сортируем массив по убыванию}for i:=1 to k-1 dofor j:=1 to k-1 doif b[j]<b[j+1]then begin x:=b[j]; b[j]:=b[j+1]; b[j+1]:=x; end;{Сворачиваем массив обратно в матрицу в отсортированном виде}writeln(‘Sortironka:‘);for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=b[j+m*(i-1)]; write(a[i,j]:3); end; writeln; end;readln;end.