Автор: Timik 5.02.2005 17:23
Задание №4 (массивы)
11. Дана матрица целых чисел размером 10*12. Напечатайте индексы всех ее седловых точек. (Седловой точкой называется элемент, который является наименьшим в своей строке и наибольшим в своем столбце или, наоборот, наибольшим в своей строке и наименьшим в своем столбце).
Задание №5 (работа со строками)
11.Школьник набрал на компьютере реферат. Когда он отлучился, его друзья решили над ним подшутить: один предложил удалить все гласные, другой – заменить буквы «г» и «р» их кодовыми значениями, третий – записать текст в обратном порядке. Какой текст увидит школьник после того, как каждый из друзей внесет свои исправления в текст? и какой текст будет получен после применения всех трех вариантов?
Задание №6 (работа с файлами)
11. Имеются два текстовых файла с одинаковым числом строк. Выяснить, совпадают ли их строки. Если нет, то получить номер первой строки, в которой эти файлы отличаются друг.
Автор: APAL 7.02.2005 16:30
Цитата(Timik @ 5.02.05 13:23)
Задание №6 (работа с файлами)
11. Имеются два текстовых файла с одинаковым числом строк. Выяснить, совпадают ли их строки. Если нет, то получить номер первой строки, в которой эти файлы отличаются друг.
Код
Var
f1,f2 : Text;
s1,s2 : String;
n : LongInt;
Begin
Assign(f1,ParamStr(1));
Assign(f2,ParamStr(2));
n:=0;
Reset(f1);Reset(f2);
While Not EOF(f1) do
Begin
Inc(n);
Readln(f1,s1); Readln(f2,s2);
If s1<>s2 then
Begin
Writeln('Первое несовпадение в строке № ',n);
Close(f1); CLose(f2);
Halt(0);
End;
End;
Writeln('Файлы идентичны.')
Close(f1); CLose(f2);
End.
Автор: kutia 12.02.2005 7:28
Если тебе еще нужны другие 2 задания то пиши удалено администратором
Автор: klem4 12.02.2005 14:39
Задание №4 (массивы)
Решил сделать эту задачу, то что я написал, мне кажется не совсем правильно, и плюс к этому это только половина решения, еще нужно рассмотреть обратный случай, может как-то короче можно ?
Код
uses crt;
const n=3;
m=4;
var x:array[1..n,1..m] of integer;
i,j,k:integer;
newj,newi:integer;
max,min:integer;
flag:boolean;
Begin
clrscr;
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
x[i,j]:=random(11);
write(x[i,j]:2);
write(' ');
end;
writeln;
end;
writeln;
i:=1;
repeat
flag:=true;
newj:=1;
newi:=i;
max:=x[i,newj];
for j:=2 to m do
if x[i,j]>max then
begin
newj:=j;
max:=x[i,newj];
newi:=i;
end;
min:=x[newi,newj];
for k:=1 to n do
if x[k,newj]<min then
flag:=false;
if flag then
writeln('Fpoint - ','x[',newi,',',newj,']=',max{min});
inc(i);
until (i>n);
readln;
end.
Автор: volvo 12.02.2005 15:54
klem4
Я бы делал что-то типа этого
Код
uses crt;
const
n=3;
m=3;
(*
const
x: array[1..n, 1..m] of integer =
((1, 2, 3),
(3, 4, 5),
(7, 8, 9));
*)
var
x: array[1..n, 1..m] of integer;
i, j, k:integer;
s_max, s_min: integer;
flag_min, flag_max: boolean;
Begin
clrscr;
randomize;
for i := 1 to n do
begin
for j:=1 to m do
begin
x[i,j]:=random(11);
write(x[i,j]:2, ' ')
end;
writeln
end;
writeln;
for i := 1 to n do
begin
s_min := 1; s_max := 1;
for j := 2 to m do
if x[i, j] > x[i, s_max] then s_max := j
else
if x[i, j] < x[i, s_min] then s_min := j;
flag_min := true; flag_max := true;
for k := 1 to n do
begin
flag_min := flag_min and (x[k, s_max] >= x[i, s_max]);
flag_max := flag_max and (x[k, s_min] <= x[i, s_min]);
end;
if flag_max then
writeln('Fpoint - ','x[ ',i,', ',s_min,' ] = ',x[i, s_min])
else
if flag_min then
writeln('Fpoint - ','x[ ',i,', ',s_max,' ] = ',x[i, s_max]);
end;
readln
end.
Автор: mj 13.02.2005 0:17
В разделе "задачи на заказ" разрешено оставлять задачи тока за которые Вы готовы платить деньги!