Составьте программу для решения 2 задачи пожалуйста по теме преобразование массивов. 1....

0 голосов
35 просмотров

Составьте программу для решения 2 задачи пожалуйста по теме преобразование массивов.

1. Сформировать массив из 8 случайных целых чисел от -20 до 20. Вывести сформированный массив на экран. Заменить кратные 5 элементы числом 100, а положительные числом -100. Вывести полученный массив на экран.
2. Дан Массив из N целых положительных чисел. Заменить все чётные элементы массива числом 2, а не чётные - числом 1.


Информатика (32 баллов) | 35 просмотров
0

Да

0

А если число положительное и кратное 5-ти на что заменять?

Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017
// Внимание! Если программа не работает, обновите версию!

//№1

begin
  var a:=ArrRandom(8,-20,20); a.Println;
  a.Transform(t->t mod 5=0?100:t>0?-100:t); a.Println
end.

Пример
-7 -15 8 -19 -16 -10 -16 14
-7 100 -100 -19 -16 100 -16 -100

//№2

begin
  var a:=ArrRandom(ReadInteger('n='),1,99); a.Println;
  a.Transform(t->t.IsEven?2:1); a.Println
end.

Пример
n= 17
40 89 88 55 73 76 82 86 10 76 3 90 83 94 90 83 75
2 1 2 1 1 2 2 2 2 2 1 2 1 2 2 1 1
(150k баллов)
0 голосов
//2)
//Pascal
var
  A: array [1..255] of integer;
  N, i: byte;
begin
  randomize;
  write('Введите N: '); readln(N);
  writeln('Случайный массив из положительных.');
  for i := 1 to N do begin
    A[i] := random(50);
    write(A[i]:4);
  end;
  writeln;
  for i := 1 to N do begin
    if A[i] mod 2 = 0 then A[i] := 2
    else A[i] := 1;
    write(A[i]:4);
  end;
  writeln; readln; //Если PascalABC.NET, можно убрать
end.

//1)
//Pascal
var
  A: array [1..8] of integer;
  i: byte;
begin
  randomize;
  writeln('Случайный массив.');
  for i := 1 to 8 do
  begin
    A[i] := random(41)-20;
    write(A[i]:6);
  end;
  writeln;
  for i := 1 to 8 do
  begin
    if (A[i] mod 5 = 0)=false or (A[i] > 0)=false then
    begin
    if A[i] mod 5 = 0 then
      A[i] := 100
    else
    if A[i] > 0 then
      A[i] := -100;
     end;  
    write(A[i]:6);
  end;
  writeln; readln; //Если PascalABC.NET, можно убрать
end.

image
image
(9.4k баллов)
0

В Delphi надо.