М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
umma95
umma95
08.09.2022 18:09 •  Информатика

Вводится последовательность целых чисел, оканчивающаяся нулем. число 0 в последовательность не входит. выведите элементы последовательности в обратном порядке. для хранения данных используйте стек. входные данные вводится последовательность целых чисел, по модулю не превосходящих 10000. ввод заканчивается, когда будет введено число 0. всего чисел не более 100 (не считая нуля). выходные данные выведите элементы этой последовательности в обратном порядке, через пробел.

👇
Ответ:
Nikito23
Nikito23
08.09.2022
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
begin
  var s:= new stack<integer>;
  var n:integer;
  Writeln('Вводите числа, ноль завершает ввод');
  repeat
    Read(n);
    if n<>0 then s.Push(n);
  until n=0;
  for var i:=1 to s.Count do begin
    Write(s.Peek,' ');
    s.Pop
    end;
  Writeln
end.

Пример
Вводите числа, ноль завершает ввод
3 6 9 12 5 11 -4 8 0 2 9
8 -4 11 5 12 9 6 3
4,6(34 оценок)
Открыть все ответы
Ответ:
motay121
motay121
08.09.2022
Var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real;

procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; );
var a:array[1..6] of real;
i : integer;
begin
dv1:=100;
tr1:=100;
pt1:=100;
for i:= low(a) to high (a) do begin
readln(a[i]);
repeat
if( (a[i] mod 2) =0) then begin
a[i]:=a[i]/2;
dv:=dv+1;
end
else if( ( a[i] mod 3)=0) then begin
a[i]:=a[i]/3;
tr:=tr+1;
end
else if ( ( a[i] mod 5)=0) then begin
a[i]:=a[i]/5;
pt:=pt+1;
end;

untill(a=1);
if dvif trif ptdv:=0;
tr:=0;
pt:=0;
end;
if dv1>0 then dv2:=dv1*2 else dv2:=1;
if tr1>0 then tr2:=tr1*3 else tr2:=1;
if pt1>0 then pt2:=pt1*5 else pt2:=1;
nod:=dv2*tr2*pt2;
writeln(nod);
end;
begin
nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 );
end.

end;
4,8(40 оценок)
Ответ:
Арина7405
Арина7405
08.09.2022
Задача №1
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
Var n, i: integer; 
Begin                   
writeln ('Введите число');
readln(n);                                    
writeln('Делители числа:');  
for i := 1 to n div 2 do     
  if (n mod i) = 0 then begin 
    write(i,'  ');
  end;         
End.       

Задача №2 (алгоритм не очень шустрый, но работает и понятный)
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
var
  a, b, x, y, nod: integer;

begin
  writeln('Введите a,b');
  readln(a, b);
  x := a;y := b;
  while x <> y do
    if x > y
      then x := x - y
    else y := y - x;
  nod := x;
  writeln('NOD(', a, ',', b, ')=', nod);
end.
4,6(32 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ