Перевести код с 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 заполняется значениями по определённому алгоритму.
- После заполнения массива выводится на экран таблица из чисел, по которым был заполнен массив.
- В конце программы запрашивается ввод, чтобы программа не закрылась сразу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д