CyberPascal

Cpascal #3

Feb 1st, 2014
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.19 KB | None | 0 0
  1. {
  2. Сибирский Государственный Университет Путей Сообщения (СГУПС)
  3. Кафедра "Информационные технологии транспорта"
  4.  
  5. Задание:
  6. Загадано несколько раз по 10 чисел из диапазона от 1 до 80.
  7. Из этого же диапазона выпадает случайным образом 20 чисел.
  8. Нужно выявить количество совпадений в выпавших 20 и в каждом из загаданных рядов по 10 чисел.
  9.  
  10. Выполнил: ст.гр. МЛ-212, Фомин Александр
  11. г.Новосибирск, 2014г.
  12. }
  13. Program CyberPascal; uses crt;
  14.  
  15. const maxn=25; {Максимальное кол-во рядов}
  16.       maxm=10; {Размер одного ряда}
  17.       maxv=20; {Ряд из 20 случайных чисел}
  18.  
  19. type matrix=array [1..maxn,1..maxm] of byte;
  20.      vector=array [1..maxv] of byte;
  21.  
  22. var ranka:matrix;
  23.     rankb:vector;
  24.     rankm:set of 1..80;
  25.     n,i,j,count:byte; {Кол-во рядов}
  26.  
  27. Begin clrscr;
  28. Randomize;
  29. N:=Random(MaxN)+1; {Получаем случайное кол-во рядов}
  30.  
  31. Write('--------------------------------------------------------------------------------');
  32. for i:=1 to n do
  33.     Begin
  34.     Write(' Ряд',i:3,': ');
  35.     for j:=1 to MaxM do
  36.         Begin
  37.         RankA[i,j]:=Random(81)+1;
  38.         Write(RankA[i,j]:5);
  39.         end;
  40.     Writeln;
  41.     end;
  42.  
  43. Write('--------------------------------------------------------------------------------');
  44. Writeln(' Ряд случайных чисел B:');
  45. for i:=1 to MaxV do
  46.     Begin
  47.     RankB[i]:=Random(81)+1;
  48.     Write(RankB[i]:5);
  49.     end;
  50. Writeln;
  51.  
  52. Write('--------------------------------------------------------------------------------');
  53. GotoXY(19,WhereY); Writeln('Для продолжения нажмите клавишу "Enter"');
  54. Write('--------------------------------------------------------------------------------');
  55. Readln; clrscr;
  56. Write('--------------------------------------------------------------------------------');
  57. for i:=1 to n do
  58.     Begin
  59.     RankM:=[]; {Обнуляем}
  60.     Count:=0; {Обнуляем}
  61.     for j:=1 to MaxM do
  62.         if (RankA[i,j] in RankM) then Inc(Count)
  63.                                  else RankM:=RankM+[RankA[i,j]]; {Заполняем множество}
  64.     Writeln(' Ряд',i:3,': совпадений - ', Count:2);
  65.     end;
  66.    
  67. Write('--------------------------------------------------------------------------------');
  68. RankM:=[]; {Обнуляем}
  69. Count:=0; {Обнуляем}
  70. Writeln(' Ряд случайных чисел B:');
  71. for i:=1 to MaxV do
  72.     if (RankB[i] in RankM) then Inc(Count)
  73.                        else RankM:=RankM+[RankB[i]]; {Заполняем множество}
  74. Writeln(' Cовпадений - ', Count:2);
  75. Write('--------------------------------------------------------------------------------');
  76. GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
  77. Write('--------------------------------------------------------------------------------');
  78. Readln;
  79. end.
Advertisement
Add Comment
Please, Sign In to add comment