В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Ymnichkaaaaaa
Ymnichkaaaaaa
20.05.2022 13:42 •  Информатика

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, не меньших 1002 и при этом кратных 3, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.

Например, для массива из шести элементов: 4 1104 74 1005 6 1006

программа должна вывести числа 4 2 74 2 6 1006

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

const

N = 30;

var

a: array [1..N] of longint;

i, j, k: longint;

begin

for i := 1 to N do

readln(a[i]);

...

end.

Показать ответ
Ответ:
amdv
amdv
18.02.2020 17:40
На Паскале:

program Program1;
var i, j, n, k: integer;
var result: real;
var array1: array [1..255] of real;
begin
     result := 0;
     write('Введите значение N (не более 255): ');
     readln(n);
     for i := 1 to n do
         begin
          write('Введите значение ', i, ' элемента массива: ');
          readln(array1[i]);
         end;
         begin
          writeln('Массив, размером - ', n, ' элементов(а):');
          for i := 1 to n do write(array1[i], ' ');
          writeln;
         end;
     for i:=1 to n do
         begin
          k := 0;
          for j:=1 to n do
          if array1[i] = array1[j] then k := k + 1;
          if k = 1 then result := result + array1[i];
         end;
     writeln('Сумма уникальных элементов массива = ', result);
end.
0,0(0 оценок)
Ответ:
kr2804ilyagmailcom
kr2804ilyagmailcom
08.03.2020 00:19
//Визуально разделил циклы, чтобы было более читаемо 

var ar:array[1..10] of integer;
max,i:integer;
begin;
randomize; //чтобы random() работал как надо
writeln('Array');

for i:=1 to 10 do
begin;
ar[i]:=random(-10,10); //случайное число от -10 до 10
write(ar[i]:4);
end;

for i:=1 to 10 do //"проходим" через весь массив
if (ar[i]<0) and (max<abs(ar[i])) then max:=abs(ar[i]);
{если элемент массива меньше нуля и его модуль больше максимума тогда записать модуль этого числа в максимум}

writeln;
writeln('Max:-',max); //выводим на всякий случай максимум

writeln('Final array:');
for i:=1 to 10 do //снова проходим по всему массиву
begin;
if ar[i]=-max then ar[i]:=0; 
{если элемент равен отрицательному максимуму(мы брали модуль) присвоить ему 0}
write(ar[i]:4);
end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота