На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 20 цифр 1 , 20 цифр 2 и 20 цифр 3 ,
расположенных в произвольном порядке.
Сколько цифр 1 будет в строке, которая получится после выполнения данной программы?
НАЧАЛО
ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)
ЕСЛИ нашлось (>1)
ТО заменить (>1, 222>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>2)
ТО заменить (>2, >3)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>3)
ТО заменить (>3, 11>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
c:array of array of integer;
ma:array of array of integer;
i,j,n:integer;
begin;
randomize;
readln(n);
setlength(a,n+1); //задаём размерность динамических массивов
setlength(c,n+1);
setlength(ma,n+1);
for i:=1 to n do
begin;
setlength(a[i],n+1);
setlength(c[i],n+1);
setlength(ma[i],n+1);
end;
writeln('Matrix A:'); //генерируем массив псеводслучайных чисел
for i:=1 to n do begin;
writeln;
for j:=1 to n do
begin;
a[i,j]:=random(10);
write(a[i,j]:4);
end;
end;
writeln;
writeln('Matrix C:'); //аналогично
for i:=1 to n do
begin;
writeln;
for j:=1 to n do
begin;
c[i,j]:=random(10);
write(c[i,j]:4);
end;
end;
for i:=1 to n do //сохраняем матрицу C для транспонации
for j:=1 to n do
ma[i,j]:=c[i,j];
writeln;
writeln('Transpose matrix C:'); //транспонируем C
for i:=1 to n do
begin;
writeln;
for j:=1 to n do
begin;
c[i,j]:=ma[j,i];
write(c[i,j]:4);
end;
end;
writeln;
writeln('Final matrix:'); // получаем финальную матрицу
for i:=1 to n do
begin;
writeln;
for j:=1 to n do
begin;
ma[i,j]:=2*c[i,j]*a[i,j];
{по свойству дистрибутивности матриц С(A+A)=C*A+C*A=2*C*A}
write(ma[i,j]:4);
end;
end;
end.
ответ
4,0/5
2
SilverWind
середнячок
8 ответов
2.6 тыс. пользователей, получивших
1. вывести на экран 6 раз своё имя
program imya;
const n=6;
var i:integer;
begin
for i:=1 to n do
writeln('ваше имя');
end.
Пояснения: делала с цикла (можно было написать и шесть раз writeln, но так удобнее). Переменную n ввела для быстрого изменения значений (если нужно будет написать имя не 6, а, к примеру, 8 раз, нужно было заменить только вначале). Ещё хочу отметить, что имя вводится по-английски и нельзя терять апострофы ( ' ).
2. program sum;
var sum:integer;
m:array[1..4] of integer;
i:integer;
begin
m[1]:=6
for i:=2 to 4 do begin
m[i]:=m[i-1]+1;
end;
sum:=m[1];
for i:=2 to 4 do begin
sum:=sum+m[i];
end;
writeln(sum);
end.
Пояснения: можно было делать и по-другому, но так тоже верно. Тут использовалось два цикла и массив. А блок-схему сами сделайте)))
3. program n!;
var n:real;
c:integer;
m:array[1..n] of integer;
begin
readln(n)
m[1]:=1;
for i:=2 to n do begin
m[i]:=m[i-1]+1;
end;
c:=m[1]
for i:=1 to n do begin
c:=c*m[i];
end;
writeln('n!',c);
end.
Если что не понятно, пишите, объясню
Объяснение:
сосиска