Дана программа нахождения суммы всех элементов массива. Изменить программу таким образом, чтобы: 1) массив состоял из 20 элементов символьного типа;
2) в результате выполнения программы должно быть найдено количество символов ‘d’ в массиве.
Program massiv;
Const n=10;
Var a:array[1..n] of real;
s,i: integer;
Begin
WriteLn('Исходный массив:');
For i:=1 to n do
begin
a[i]:=random(10);
Write('a[',i,']=',a[i],' ');
end;
s:=0;
For i:=1 to n do
s:=s+a[i];
WriteLn('Сумма всех элементов массива S=',s);
end.
Данная программа написана на языке программирования Pascal и имеет две задачи. Вначале она находит сумму всех элементов массива, а затем изменяется таким образом, чтобы найти количество символов 'd' в массиве.
Чтобы изменить программу, сначала нужно заменить тип элементов массива на символьный (char). Определим новый массив a2 типа char с размерностью 20:
Var a2: array[1..20] of char;
Затем в цикле заполняем массив a2 случайными символами. После этого выводим на экран исходный массив:
WriteLn('Исходный массив:');
For i:=1 to 20 do
begin
a2[i]:=Chr(Random(256)); // генерируем число от 0 до 255 и преобразуем его в символ
Write('a2[',i,']=',a2[i],' ');
end;
Далее создадим переменную count типа integer и инициализируем ее нулем. Она будет хранить количество символов 'd' в массиве:
count:=0;
В последнем цикле проходим по всем элементам массива a2 и проверяем, является ли текущий элемент символом 'd'. Если это так, увеличиваем count на единицу:
For i:= 1 to 20 do
begin
if a2[i] = 'd' then
count:= count + 1;
end;
В итоге, после окончания цикла, в переменной count будет храниться количество символов 'd' в массиве a2. Выводим это значение на экран:
WriteLn('Количество символов "d" в массиве:', count);
Таким образом, программа будет находить и выводить количество символов 'd' в массиве из 20 элементов символьного типа.
Надеюсь, это поможет тебе понять и изменить программу.
Удачи!