![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Саня |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Такая задача: "Выбор из двузначных чисел". Даны n (n>=12) различных двузначных чисел. Написать программу выбора из них двух чисел так, чтобы их разность давала двузначное число, записываемое двумя одинаковыми числами.
У меня ни как не получаеться ![]() ![]() ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Проверь вот это... Я думаю, это - то, что тебе нужно ...
Код type numset = set of byte; const maxn = 15; var arr: array[1 .. maxn] of byte; var x: integer; cnt: array[1 .. maxn] of integer; nums: array[1 .. maxn] of numset; i: integer; procedure writeset(i: integer); var x, count: byte; numbers: array[1 .. maxn] of integer; ii, jj: integer; begin count := 0; for x := 10 to 99 do if x in nums[i] then begin inc(count); numbers[count] := x; end; for ii := 1 to count do for jj := ii + 1 to count do begin writeln( 'para:', numbers[ii], ' ', numbers[jj] ); writeln( 'enter to view next pair' ); readln; end; end; var n: integer; good: boolean; begin repeat writeln('Vvedite kolichestvo elementov'); readln(n) until n <= maxN; for i := 1 to n do begin repeat write('a[',i,']= '); readln(arr[i]); good := arr[i] in [10 .. 99]; if not good then writeln('Chisla dolzhny byt dvyznach. Eshe raz...'); until good; x := arr[i] mod 11; nums[ x ] := nums[ x ] + [ arr[i] ]; inc( cnt[ x ] ); end; writeln; writeln( 'results:' ); writeln; for i := 1 to n do if cnt[i] > 1 then writeset(i); end. |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 20:21 |