Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 09:24   #1
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
По умолчанию Помогите найти ошибку в несложной программе

Среди заданных натуральных чисел найти такие, десятичная запись которых не содержит одинаковых цифр
Заранее благодарен!!!

Код:
uses crt;
var  a:array[1..1000]of integer;
     b:array[1..100]of integer;
     n,k,i,j,j2,j3,k1,k2,k3,k4:integer;
     
begin clrscr;
writeln('Введите количество чисел');
readln(n);
writeln('Введите числа');
for i:=1 to n do
readln(a[i]);
writeln('Вы ввели');
for i:=1 to n do
write(a[i],' ');


for i:=1 to n do
begin
     k:=a[i];
     k1:=0;
     k3:=0;
     k4:=0;
while k<>0 do
begin
k2:=k mod 10;
k:=k div 10;
k1:=k1+1;
b[k1]:=k2
end;

for j:=1 to k1 do
    begin
    j3:=0;
    for j2:=k1 downto 1 do
        begin
        j3:=j3+1;
        if(j<>j3) and (b[j]<>b[j2]) then
              begin
              k3:=1;
              break;
              end
        end;
    if k3=1 then break else k4:=1;
    end;

if k4<>1 then write(a[i],' ');
end;

end.
Архат вне форума Ответить с цитированием
Старый 14.06.2009, 10:00   #2
Архат
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 12
По умолчанию

Все сделал, спасибо, тем кто потратил время, но не успел найти решение, выложу рабочую версию, может кому нибудь понадобиться
Код:
uses crt;
var  a:array[1..1000]of integer;
     b:array[1..100]of integer;
     n,k,i,j,j2,j3,k1,k2,k3,k4:integer;
     
begin clrscr;
writeln('Введите количество чисел');
readln(n);
writeln('Введите числа');
for i:=1 to n do
readln(a[i]);
writeln('Вы ввели');
for i:=1 to n do
write(a[i],' ');

writeln('Результат:');

for i:=1 to n do
begin
     k:=a[i];
     k1:=0;
     k3:=0;
     k4:=0;
while k<>0 do
begin
k2:=k mod 10;
k:=k div 10;
k1:=k1+1;
b[k1]:=k2;
end;

for j:=1 to k1 do
    begin
    j3:=0;
    for j2:=1 to k1 do
        if(j<>j2) then
        if (b[j]=b[j2]) then
              begin
              k3:=1;
              break;
              end
              end;
if k3<>1 then write(a[i],' ');
end;

end.

Последний раз редактировалось Архат; 14.06.2009 в 10:03.
Архат вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в программе (C++) Olya90 Помощь студентам 1 28.03.2009 16:36
Помогите найти ошибку в программе Wast Паскаль, Turbo Pascal, PascalABC.NET 2 29.12.2008 20:40
помогите на найти ошибку в программе SYL@R Помощь студентам 1 28.11.2008 12:35
Помогите найти ошибку в программе Evgenii Помощь студентам 3 24.07.2008 09:06
Помогите найти ошибку в программе KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 5 10.03.2008 14:19