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

Дан массив целых чисел из 18 элементов,заполненный случайным образом числами из промежутка [-40; 80].вывести на экран все элементы,которые состоят из одинаковых цифр.

👇
Ответ:
DillonVIP
DillonVIP
25.07.2020
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(18,-40,80); a.Println;
  a.Where(t->(t mod 10)=(t div 10)).Println
end.

Пример
34 -22 11 63 -9 43 34 -32 -34 -32 28 17 50 37 80 49 2 29
-22 11
4,6(45 оценок)
Ответ:
Var
a:array[1..18] of integer;
i:integer;
begin
Randomize();
Write('Исходный массив: ');
For i:= 1 to 18 do  
  begin
    a[i]:=-40 + random(121);
    Write(a[i], ' ');
  end;
Writeln();
Write('Элементы, состоящие из одинаковых цифр: ');
For i:= 1 to 18 do
  if (a[i] mod 10 = a[i] div 10 ) then
    Write(a[i], ' ');
end.

Пример:

Исходный массив: 40 68 13 -38 -9 29 77 78 27 14 74 42 50 79 -22 -15 22 20
Элементы, состоящие из одинаковых цифр: 77 -22 22
4,6(50 оценок)
Открыть все ответы
Ответ:
sharonova71
sharonova71
25.07.2020
Пусть исходные координаты чертежника (x;y). Смоделируем алгоритм:
0) (x;y)
1) (x-1;y-2)
2) n раз делается одно и то же: первая координата изменяется на a, затем из нее вычитается 1, вторая координата изменяется на b, затем вычитается 2. В результате координаты равны:
(x-1+n*(a-1); y-2+n*(b-2))
3) (x-1+n*(a-1)-20; y-2+n*(b-2)-12)
Концом работы программы является попадание в стартовую позицию. То есть x-1+n*(a-1)-20=x => n*(a-1)=21
y-2+n*(b-2)-12=y => n*(b-2)=14
Тогда n нужно искать среди делителей чисел 21 и 14. Точнее ответом будет НОД(21, 14)=7.
4,5(76 оценок)
Ответ:
vladys13
vladys13
25.07.2020
Var
    f: file of integer;
    i, n, x, t, k, max: integer;
    s: integer;

begin
    randomize;
    write('n=');
    readln(n);
    
    assign(f, 'numbers.dat');
    rewrite(f);
    
    max := -1;
    for i := 1 to n do
    begin
        x := random(4800) + 20;
        write(f, x);
        write(x, ' ');
        if x > max then max := x;
    end;
    writeln;
    
    seek(f, 0);
    k := 0;
    while not eof(f) do
    begin
        read(f, x);
        t := x;
        s := 0;
        while t > 0 do
        begin
            s := s + sqr(t mod 10);
            t := t div 10;
        end;
        if x mod s = 0 then k := k + 1;
        if x > max - 50 then write(x, ' ');
    end;
    writeln;
    
    writeln(k);
end.
4,4(56 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ