Перевести код с Pascal - C (СИ) (78998)
Формулировка задачи:
Program zadanie2;
uses crt;
var a:array[0..14,0..14]of integer;
k,i,j,p:integer;
begin
clrscr;
repeat;
write('Введите натуральное число не более 13 k=');
readln(k);
until k in [0..13];
a[0,0]:=1;a[1,0]:=1;a[1,1]:=1;
for i:=2 to k do
begin
a[i,0]:=1;
for j:=0 to i+1 do
if j=i then a[i,j]:=1
else a[i,j]:=a[i-1,j-1]+a[i-1,j];
end;
if k<=10 then p:=4 else p:=5;
for i:=0 to k do
begin
write(' ':(k-i+1+((p div 2)-1)*(k-i)));
for j:=0 to i do
write(a[i,j]:p);
writeln;
end;
writeln;
readln
end.Решение задачи: «Перевести код с Pascal»
textual
Листинг программы
Program zadanie2;
uses crt;
var a:array[0..14,0..14]of integer;
k,i,j,p:integer;
begin
clrscr;
repeat;
write('Введите натуральное число не более 13 k=');
readln(k);
until k in [0..13];
a[0,0]:=1;a[1,0]:=1;a[1,1]:=1;
for i:=2 to k do
begin
a[i,0]:=1;
for j:=0 to i+1 do
if j=i then a[i,j]:=1
else a[i,j]:=a[i-1,j-1]+a[i-1,j];
end;
if k<=10 then p:=4 else p:=5;
for i:=0 to k do
begin
write(' 'k-i+1+((p div 2)-1)*(k-i)));
for j:=0 to i do
write(a[i,j]);
writeln;
end;
writeln;
readln
end.
Объяснение кода листинга программы
Список действий в коде:
- Задаётся размер массива a.
- Вводится число k, которое не превышает 13.
- Начальные элементы массива a заполняются единицами.
- Происходит основная часть программы, в которой массив a заполняется значениями по определённому алгоритму.
- После заполнения массива выводится на экран таблица из чисел, по которым был заполнен массив.
- В конце программы запрашивается ввод, чтобы программа не закрылась сразу.