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

Напишите программу, которая выделяет в другой массив все элементы исходного массива, которые записываются трёхзначными числами в десятичной системе, делятся на K и не делятся на M . Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . В третьей строке через пробел записаны два числа – K ( 1 < K ≤ N ) и M ( 1 ≤ M ≤ N ).

Выходные данные
Программа должна вывести в одну строчку все элементы построенного массива, разделив их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
НА С++

👇
Ответ:
лиана252
лиана252
07.12.2020

Объяснение:

Pascal

program pr;

 

var

 i, n, k, cout: integer;

 a, b: array [1..100] of integer;

 

begin

 cout := 0;

 k := 1;

 writeln('Введите размер массива');

 readln(n);

 if (n>0) and (n<=10000) then  

 begin

 for i := 1 to n do

 begin

   read(a[i]);

 end;

 writeln;

 for i := 1 to n do

   if a[i] < 0 then

   begin

     cout := cout + 1;

     b[k] := a[i];

     k := k + 1;

   end;

 if cout = 0 then

   writeln(0) else  

   for k := 1 to cout do

     write(b[k]:3);

     end

     else writeln('Не корректный ввод n');

end.

4,5(37 оценок)
Открыть все ответы
Ответ:
yarikplay13
yarikplay13
07.12.2020
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
begin
  for var i:=1 to 1000 do
    if i mod 7 =0 then print(i);
end.

Тестовое решение:
7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147 154 161 168 175 182 189 196 203 210 217 224 231 238 245 252 259 266 273 280 287 294 301 308 315 322 329 336 343 350 357 364 371 378 385 392 399 406 413 420 427 434 441 448 455 462 469 476 483 490 497 504 511 518 525 532 539 546 553 560 567 574 581 588 595 602 609 616 623 630 637 644 651 658 665 672 679 686 693 700 707 714 721 728 735 742 749 756 763 770 777 784 791 798 805 812 819 826 833 840 847 854 861 868 875 882 889 896 903 910 917 924 931 938 945 952 959 966 973 980 987 994
4,7(88 оценок)
Ответ:
KVika65
KVika65
07.12.2020
Думаю нет большой разницы между процедурой и функцией, просто функция куда удобнее.
Для нахождения нода используется алгоритм Эвклида

//PascalABC.Net

function NOD(A, B: integer): integer;
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

procedure pNOD(A, B: integer; var NOD: integer);
begin
    while A <> B do
        if A > B then A := A - B else B := B - A;
    NOD := A;
end;

begin
    var a: Array of integer := (16, 32, 40, 64, 80, 128);
    var n := a[low(a)];
    for var i := low(a) to high(a) do
        pNOD(n, a[i], n);
   
    Writeln(n);
end.
4,8(31 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ