Другие языки программирования и технологии
ввести 2 числа меньше 65000 и определить имебтся ли них одинаковые числа
можно код программы очень нужно...
Доброго времени суток.
Может все-таки одинаковые цифры? Все значительно проще. N1 - первое число, N2 - второе.
Match := False; {признак совпадения цифр}
while N1 > 0 do begin {пока в числе есть цифры}
d := N1 mod 10: {запоминаем младшиц разряд числа N1}
N := N2; {копия числа N2}
while N > 0 do begin
if N mod 10 = d then begin {сравниваем цифру с запомненной}
Match := True; {при совпадении устанавливаем признак}
Break; {и дальше не ищем}
end;
N := N div 10;
if Match then Break;
N1 := N1 div 10; {отбрасываем младший разряд}
end;
А если так уж хочется через строки делать, то можно гораздо элегантнее.
for i:=1 to Length(S1) do
if Pos(S[ i ], S2) > 0 then begin
WriteLn('Есть совпадающая цифра! Это ', S[ i ]);
Break; {дальше не ищем, т. к. задача найти все совпадения не стоит}
end;
Вот и все. Остальное сами.
Удачи!
2Александр: А это бич нашего времени - неумение выразить мысль. ИМХО, конечно.
Может все-таки одинаковые цифры? Все значительно проще. N1 - первое число, N2 - второе.
Match := False; {признак совпадения цифр}
while N1 > 0 do begin {пока в числе есть цифры}
d := N1 mod 10: {запоминаем младшиц разряд числа N1}
N := N2; {копия числа N2}
while N > 0 do begin
if N mod 10 = d then begin {сравниваем цифру с запомненной}
Match := True; {при совпадении устанавливаем признак}
Break; {и дальше не ищем}
end;
N := N div 10;
if Match then Break;
N1 := N1 div 10; {отбрасываем младший разряд}
end;
А если так уж хочется через строки делать, то можно гораздо элегантнее.
for i:=1 to Length(S1) do
if Pos(S[ i ], S2) > 0 then begin
WriteLn('Есть совпадающая цифра! Это ', S[ i ]);
Break; {дальше не ищем, т. к. задача найти все совпадения не стоит}
end;
Вот и все. Остальное сами.
Удачи!
2Александр: А это бич нашего времени - неумение выразить мысль. ИМХО, конечно.
а можно задание более понятными словами изложить?
вводишь строку с цифрами сама просто и отделяешь цифры и сравниваешь)) )
const n=65000;
var s:string[n];
s1:string;
a:array[1..n] of string;
i,j,k,f,p,t:integer;
begin
clrscr;
writeln('введите строку');
readln(s);
j:=1; s1:=''; p:=0;
s:=s+' ';
for i:=1 to length(s) do
begin
if (s<>' ')then
begin
s1:=s1+s;
end
else
begin
a[j]:=s1;
j:=j+1;
s1:='';
end;
end;
for t:=1 to j do
writeln(a[t]);
for i:=1 to j do
begin
f:=0;
for t:=1 to i do
if (i<>t)and(a=a[t])then f:=1;
if f=0 then
begin
writeln(a);
inc(p);
end;
end;
writeln(p);
readln;
end.
const n=65000;
var s:string[n];
s1:string;
a:array[1..n] of string;
i,j,k,f,p,t:integer;
begin
clrscr;
writeln('введите строку');
readln(s);
j:=1; s1:=''; p:=0;
s:=s+' ';
for i:=1 to length(s) do
begin
if (s<>' ')then
begin
s1:=s1+s;
end
else
begin
a[j]:=s1;
j:=j+1;
s1:='';
end;
end;
for t:=1 to j do
writeln(a[t]);
for i:=1 to j do
begin
f:=0;
for t:=1 to i do
if (i<>t)and(a=a[t])then f:=1;
if f=0 then
begin
writeln(a);
inc(p);
end;
end;
writeln(p);
readln;
end.
Похожие вопросы
- C++, почему не выводится на экран текст: Введенное Вами число - простое.
- Дано число типа longint определить количество цифр в этом числе. Очень срочно!
- Паскаль. Цикл While. Определить остаток от деления большего числа а на меньшее число b, не используя стандартные функции
- С++ функция удаления группы одинаковых чисел из списка
- Срочно нужна помощь Ввести ряд чисел и сформировать список элементов ряда, кратных 10. Язык программирования Delphi.
- как можно нати среднее арифметическое всех целых плюсовых чисел меньше 10?
- Как вывести рандомные 2 числа из отрезка 1 до 5,только чтоб они не равные были 3? С++
- Напишите программу на C++, которая будет складывать 2 числа
- Помогите написать легкую программу в Visual Basic которая складывала бы 2 числа.
- дано целое число n,вывести все числа от 1 до n,и кол во этих чисел