Регистрация
13 Май 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
Дано задание:

Допустим у нас есть число которое содержится в переменной N. Нам нужно найти в N числа кратные трем и поменять их местами. Если таких чисел нет, выводим ноль. Если такое число только одно, выводим сообщение :'Число только одно. Его не с чем менять'

К примеру дано число 66713, после выполнения программа должна выдать : 36716
 
распределяешь ЦИФРЫ этого числа в массив (желательно сделать его большим). Далее цикл в цикле и ветвление с условием, которое проверяет, есть ли такие пары чисел, если есть, то поднимаешь флаги и используешь swap. флаги нужны для того что-бы сказать есть ли такие цифры, сколько их, и для исключения возможности повторения замены мест (если цикл будет без последнего условия, то цифры поменяются местами два раза, т.е. не поменяют положения).
 
вот прога, используй
program cifr; //цифры числа
uses crt;
var i,k,m,mn:Integer;
n:longint;
c:array[1..9] of integer;
begin
clrscr;
writeln(' Cifri chisla');
writeln('----------------------');
writeln;
write('Vvesti chislo ne bolee 9 cifr-->'); readln(n);
k:=0; //определение количества цифр
while n>0 do begin // и запись их в массив
k:=k+1;
c[k]:=n mod 10;
n:=n div 10;
end;
for i:=k downto 1 do
write(c:3);
writeln;
writeln('konec zadachi');
readln;
end.
 
Жан Рено, Луи Де Фюнес и Жерар Депардье.
 
Все не правильно вообще. Паскаль, это серия видеокарт GTX 1000 от куртки. Кстати, очень удачная
 
Назад
Сверху