Подскажите пожалуйста, можно ли решить данную задачу одной программой в Pascal и каким...

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

Подскажите пожалуйста, можно ли решить данную задачу одной программой в Pascal и каким образом??? Объясните как это сделать

Найти и посчитать в массиве все восьмерки (если нет, вывести отчет) и заменить их нулями. Посчитать в массиве количество всех нулей (если их нет, вывести отчет). Найти сумму восьмерок(которые были изначально) и нулей. Заменить последний элемент массива этим числом


Информатика (48 баллов) | 27 просмотров
Дан 1 ответ
0 голосов

Да, это должно решаться одной программой.

const n=15;
var
  a: array[1..n] of integer;
  k,k2: integer;
  i: byte;
begin
  randomize;
  k:=0;
  writeln ('Исходный массив:');
  for i:=1 to n do begin    
    a[i]:=random(10);
    write (a[i]:3);
    if a[i]=8 then begin k:=k+1; a[i]:=0; end;
  end;
  writeln;
  if k=0 then writeln ('Нет элементов, равных 8')
    else writeln ('Количество элементов, равных 8: ',k);  
  k2:=0;
  writeln;
  writeln ('Измененный массив:');
  for i:=1 to n do begin
    write (a[i]:3);
    if a[i]=0 then k2:=k2+1;
  end;
  writeln;
  if k2=0 then writeln ('Нет элементов, равных 0')
    else writeln ('Количество элементов, равных 0: ',k);
  a[n]:=k*8;
  writeln ('Сумма первоначальных восьмерок и нулей = ',a[n]);
  writeln ('Количество восьмерок (изначальных) и нулей = ',k+k2);  
end.
------------------------------------
Результат:

Исходный массив:
  5  8  2  2  3  7  2  8  3  3  4  2  3  2  5
Количество элементов, равных 8: 2

Измененный массив:
  5  0  2  2  3  7  2  0  3  3  4  2  3  2  5
Количество элементов, равных 0: 2
Сумма первоначальных восьмерок и нулей = 16
Количество восьмерок (изначальных) и нулей = 4

(3.5k баллов)