IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Выбор из двузначных чисел, Задача
Саня
сообщение 6.11.2004 22:29
Сообщение #1


Гость






Такая задача: "Выбор из двузначных чисел". Даны n (n>=12) различных двузначных чисел. Написать программу выбора из них двух чисел так, чтобы их разность давала двузначное число, записываемое двумя одинаковыми числами.

У меня ни как не получаеться sad.gif sad.gif sad.gif Может у кого нибудь получится....
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 8.11.2004 15:53
Сообщение #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.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Саня   Выбор из двузначных чисел   6.11.2004 22:29
volvo   Значит, пробовал? Какие есть идеи? Исходники (ес...   6.11.2004 22:31
Саня   Идеи просто кончились:(   6.11.2004 22:50
volvo   Тогда держи: type  numset = set of byte; c...   6.11.2004 22:54
Altair   синтаксических ошибок нет. :) так надо всего 2 чи...   7.11.2004 9:07
Саня   Я тут немного доработал прогу под себя, проверьте:...   7.11.2004 12:17
volvo   Саня 1. Зачем тебе нужно объявлять массив из 100 ...   7.11.2004 12:35
Altair   Век живи, век учись. Покажи пожалуйста пример... ...   7.11.2004 13:03
volvo   Oleg_Z Вместо: var ... arr: array[1 .. ...   7.11.2004 13:11
Altair   круто ... не знал об этом... намотаю на ус.... :)   7.11.2004 13:17
volvo   Саня У тебя объявлен лишний массив ... Вместо ...   7.11.2004 13:27
Guest   Спасибо volvo :D :D :D :D   7.11.2004 22:15
Саня   У меня возникло еще пара вопросов (надеюсь я не на...   8.11.2004 12:32
volvo   1.  for t:=1 to 3 do begin   if ...   8.11.2004 13:11
Саня   Просто я хотел, что бы, если число не верное, выв...   8.11.2004 15:23
volvo   1. var  good: boolean; ... repeat ...   8.11.2004 15:29
volvo   Проверь вот это... Я думаю, это - то, что тебе нуж...   8.11.2004 15:53
Саня   volvo Это круто!!!!! спасибо...   8.11.2004 18:09
Саня   Не моглибы помочь еще немного? к этой программе ну...   7.01.2005 22:38


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 20:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"