mbrilliantova
?>

Составить программу заполнения массива, состоящего из 17 элементов, случайными целыми числами их промежутка [-50; +50]. вывести на экран сначала все элементы массива, а затем с новой строки элементы с четными индексами.

Информатика

Ответы

pavpe4198
Последняя часть вопроса поставлена некорректно. Массив может в общем случае индексироваться, начиная с любого целого числа, например, с нуля или с единицы. В случае индексирования от нуля, четные индексы будут иметь первый, третий, пятый и т.д. по порядку элементы, а при нумерации от единицы - второй, четвертый, шестой и т.д.
Будем считать, что индекс массива совпадает с порядковым номером элемента, т.е. индексация в массиве идет от единицы, тогда выводу подлежат второй, четвертый, шестой и т.д. элементы.

1. Современный "короткий" вариант

// PascalABC.NET 3.1, сборка 1190 от 05.03.2016
begin
  var a:=ArrRandom(17,-50,50); a.Println;
  a.Where((x,i)->Odd(i)).Println
end.

Тестовое решение:
-6 35 -48 -50 -16 -36 20 16 -10 32 -4 34 46 -45 14 13 -36
35 -50 -36 16 32 34 -45 13

2. Традиционный ("школьный" вариант) - так до сих пор учат в школах

// PascalABC.NET 3.1, сборка 1190 от 05.03.2016
const
  n=17;
var
  a:array[1..n] of integer;
  i:integer;
begin
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ')
    end;
  Writeln;
  i:=2;
  while i<=n do begin
    Write(a[i],' ');
    i:=i+2
    end;
  Writeln
end.

Тестовое решение:
27 -29 10 -35 -48 -45 0 4 -50 -13 17 -41 12 26 38 26 23
-29 -35 -45 4 -13 -41 26 26
kuchino09
Const n = 5;
  m = 5;
var a:array[1..n,1..m] of integer;
i,j,s:integer;
begin
//Для теста заполним массив сл.числами
  for i:=1 to n do begin
    for j:=1 to m do begin
      a[i,j]:=random(21)-10; write(a[i,j]:4);
    end;
    writeln;writeln;
  end;
  //сумма всех элементов массива
  for i:=1 to n do
    for j:=1 to m do s:=s+a[i,j];
writeln('сумма всех элементов массива: ',s);
//сумма каждой строки
for i:=1 to n do begin
    s:=0;
    for j:=1 to m do begin
      s:=s+a[i,j];
    end;
    writeln ('Строка: ',i,' сумма:',s);
  end;   
end.
KonovalovKonstantinovna1306
Если считать отрицательные трехзначные, то сумма таких чисел в диапазонах от -999 до -100 и от 100 до 999 будет равна 0. Для только положительных:

//c циклом for
var s,i:integer;
begin
  for i:=100 to 999 do
    if i mod 77 = 0 then s:=s+i;
  writeln('Сумма трехзначных кратных 77: ',s);
end.

Тестовое решение:
Сумма трехзначных кратных 77: 5929

// с циклом while
var s,i:integer;
begin
  i:=100;
  while i<=999 do begin
    if i mod 77 = 0 then s:=s+i;
    i:=i+1;
  end;
  writeln('Сумма трехзначных кратных 77: ',s);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить программу заполнения массива, состоящего из 17 элементов, случайными целыми числами их промежутка [-50; +50]. вывести на экран сначала все элементы массива, а затем с новой строки элементы с четными индексами.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

nastyakrokhina87
михаил
klykovav672
valeron7hair7
Rudakova_Yana
Ivan500
krasa28vostok65
Александрович
Nasteona1994
anna-ditman
MaratФам
Ярослав
sbraginets
olgusikok
Kisuha8465