Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- Сибирский Государственный Университет Путей Сообщения (СГУПС)
- Кафедра "Информационные технологии транспорта"
- Задание:
- Загадано несколько раз по 10 чисел из диапазона от 1 до 80.
- Из этого же диапазона выпадает случайным образом 20 чисел.
- Нужно выявить количество совпадений в выпавших 20 и в каждом из загаданных рядов по 10 чисел.
- Выполнил: ст.гр. МЛ-212, Фомин Александр
- г.Новосибирск, 2014г.
- }
- Program CyberPascal; uses crt;
- const maxn=25; {Максимальное кол-во рядов}
- maxm=10; {Размер одного ряда}
- maxv=20; {Ряд из 20 случайных чисел}
- type matrix=array [1..maxn,1..maxm] of byte;
- vector=array [1..maxv] of byte;
- var ranka:matrix;
- rankb:vector;
- rankm:set of 1..80;
- n,i,j,count:byte; {Кол-во рядов}
- Begin clrscr;
- Randomize;
- N:=Random(MaxN)+1; {Получаем случайное кол-во рядов}
- Write('--------------------------------------------------------------------------------');
- for i:=1 to n do
- Begin
- Write(' Ряд',i:3,': ');
- for j:=1 to MaxM do
- Begin
- RankA[i,j]:=Random(81)+1;
- Write(RankA[i,j]:5);
- end;
- Writeln;
- end;
- Write('--------------------------------------------------------------------------------');
- Writeln(' Ряд случайных чисел B:');
- for i:=1 to MaxV do
- Begin
- RankB[i]:=Random(81)+1;
- Write(RankB[i]:5);
- end;
- Writeln;
- Write('--------------------------------------------------------------------------------');
- GotoXY(19,WhereY); Writeln('Для продолжения нажмите клавишу "Enter"');
- Write('--------------------------------------------------------------------------------');
- Readln; clrscr;
- Write('--------------------------------------------------------------------------------');
- for i:=1 to n do
- Begin
- RankM:=[]; {Обнуляем}
- Count:=0; {Обнуляем}
- for j:=1 to MaxM do
- if (RankA[i,j] in RankM) then Inc(Count)
- else RankM:=RankM+[RankA[i,j]]; {Заполняем множество}
- Writeln(' Ряд',i:3,': совпадений - ', Count:2);
- end;
- Write('--------------------------------------------------------------------------------');
- RankM:=[]; {Обнуляем}
- Count:=0; {Обнуляем}
- Writeln(' Ряд случайных чисел B:');
- for i:=1 to MaxV do
- if (RankB[i] in RankM) then Inc(Count)
- else RankM:=RankM+[RankB[i]]; {Заполняем множество}
- Writeln(' Cовпадений - ', Count:2);
- Write('--------------------------------------------------------------------------------');
- GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
- Write('--------------------------------------------------------------------------------');
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment