Epso

belo4ka :D

May 17th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.88 KB | None | 0 0
  1. 1-----
  2. program Project1;
  3. const col = 5;
  4.       row = 5;
  5.  
  6.  
  7. var a: array [1..col,1..row] of integer;
  8. var i, j, iMin, jMin, iMax, jMax:integer; // min - max минимум и максимум соотв. столбца\строки
  9. begin
  10. randomize;
  11. for i:=1 to col do
  12.     for j:=1 to row do
  13.         a[i,j]:= random(10); // заполнение матрицы. Заполняется случайными числами от 0 до 10
  14.  
  15. iMin := 1;
  16. iMax := 1;
  17. jMin := 1;
  18. jMax := 2;
  19.  
  20. for i:=1 to col do
  21.     for j:=1 to row do
  22.         begin
  23.           if a[iMin,jMin] > a[i,j] then
  24.              begin
  25.                iMin:= i;
  26.                jMin:= j;
  27.              end;
  28.           if a[iMax,jMax] < a[i,j] then
  29.              begin
  30.                iMax:= i;
  31.                jMax:= j;
  32.              end;
  33.         end;
  34.  
  35. writeln();
  36. for i:=1 to col do          // вывод матрицы
  37.     begin
  38.       for j:=1 to row do
  39.         write(a[i,j], ' ');
  40.       writeln();
  41.     end;
  42.  
  43. writeln();
  44. writeln('Minimal:', a[iMin,jMin], ' Maximum: ', a[iMax, jMax]);
  45. writeln();
  46. writeln('Minimal row and minimal col:');
  47. for i:=1 to row do write(a[iMin, i],' ');
  48. writeln();
  49. for i:=1 to col do write(a[i, jMin],' ');
  50. writeln();
  51. writeln('Maximum row and maximum col:');
  52. for i:=1 to row do write(a[iMax, i],' ');
  53. writeln();
  54. for i:=1 to col do write(a[i, jMax],' ');
  55.  
  56. readln();
  57. end.
  58.        
  59.  
  60. //--------------------------------
  61. 2.
  62. program Project2;
  63. const
  64.   SIZEMAX = 10;
  65.  
  66. type WordArray  = array[1..SIZEMAX] of string;
  67.  
  68.  
  69. function test(a,b:string):byte; // возвращает 1 если строка a < b
  70. var i,tmp:integer;
  71. label endTest;
  72. begin
  73. result:= 0;
  74. if a=b then goto endTest;
  75.  
  76. i:=1;
  77. while (ord(a[i]) = ord (b[i])) do    // орд - берет код символа из таблицы ASCII. по нему и сраниваем
  78. inc(i); // i:= i+1;
  79.  
  80. if (ord(a[i]) < ord (b[i])) then result:= 1;
  81.  
  82.  
  83. endTest:
  84. end;
  85.  
  86.  
  87. procedure sort(var a:WordArray);
  88. var i, j : integer;
  89.     tmp : string;
  90. begin
  91. for i:= 1 to SIZEMAX do
  92.     for j:= 2 to SIZEMAX do
  93.         begin
  94.           if test(a[j-1], a[j]) = 1 then  // тест - ф-ция сравнения двух слов.
  95.              begin
  96.                tmp:= a[j-1];          // сортировка пузырьком.
  97.                a[j-1]:= a[j];
  98.                a[j]:= tmp;
  99.              end;
  100.         end;
  101.  
  102. end;
  103.  
  104. var a: WordArray;
  105.     i: integer;
  106.  
  107. begin
  108. writeln('Input ',SIZEMAX,' words');
  109. for i:=1 to SIZEMAX do readln(a[i]);  // вводим слова через энтер. Регистр имеет значение. Его лучше не использовать ;](большие буквы то есть)
  110.  
  111. sort(a);    // вызов процедуры сортировки строк по убыванию
  112.  
  113. writeln();
  114. writeln('Sorted Array of strings:');
  115. for i:=1 to SIZEMAX do write(a[i],' ');
  116.  
  117. readln();
  118. end.
Advertisement
Add Comment
Please, Sign In to add comment