Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрицы, строки, файлы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Timik
Задание №4 (массивы)
11. Дана матрица целых чисел размером 10*12. Напечатайте индексы всех ее седловых точек. (Седловой точкой называется элемент, который является наименьшим в своей строке и наибольшим в своем столбце или, наоборот, наибольшим в своей строке и наименьшим в своем столбце).

Задание №5 (работа со строками)
11.Школьник набрал на компьютере реферат. Когда он отлучился, его друзья решили над ним подшутить: один предложил удалить все гласные, другой – заменить буквы «г» и «р» их кодовыми значениями, третий – записать текст в обратном порядке. Какой текст увидит школьник после того, как каждый из друзей внесет свои исправления в текст? и какой текст будет получен после применения всех трех вариантов?

Задание №6 (работа с файлами)
11. Имеются два текстовых файла с одинаковым числом строк. Выяснить, совпадают ли их строки. Если нет, то получить номер первой строки, в которой эти файлы отличаются друг.
APAL
Цитата(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
Если тебе еще нужны другие 2 задания то пиши удалено администратором
klem4
Задание №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
klem4
Я бы делал что-то типа этого rolleyes.gif
Код
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
В разделе "задачи на заказ" разрешено оставлять задачи тока за которые Вы готовы платить деньги!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.