Предмет: Информатика,
автор: Oksana1422
Подскажите пожалуйста, можно ли решить данную задачу одной программой в Pascal и каким образом??? Объясните как это сделать
Найти и посчитать в массиве все восьмерки (если нет, вывести отчет) и заменить их нулями. Посчитать в массиве количество всех нулей (если их нет, вывести отчет). Найти сумму восьмерок(которые были изначально) и нулей. Заменить последний элемент массива этим числом
Ответы
Автор ответа:
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
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
Похожие вопросы
Предмет: Геометрия,
автор: plohanasti
Предмет: Алгебра,
автор: ronald9690
Предмет: Английский язык,
автор: dinsilamdiana
Предмет: Математика,
автор: anna3383
Предмет: Алгебра,
автор: savinamarina