Перевести из паскаля в СИ - C (СИ) (75592)
Формулировка задачи:
Переведите кому не сложно:
var
a:array[1..10]of integer;
b:array[1..4,1..4] of integer;
i,j,counter:integer;
begin
for i:=1 to 10 do a[i]:=i;
counter:=1;
for i:=1 to 4 do
for j:=i to 4 do
begin
b[i,j]:=a[counter];
b[j,i]:=a[counter];
inc(counter);
end;
for i:=1 to 4 do begin
for j:=1 to 4 do write(b[i,j]:3); writeln; end;
end.Решение задачи: «Перевести из паскаля в СИ»
textual
Листинг программы
include <stdio.h>
int main()
{
int a[10],b[4][4],i,j,counter;
for (i=0;i<10;i++) a[i]=i;
counter=1;
for (i=0;i<4;i++)
for (j=i;j<4;j++) {
b[i][j]=a[counter];
b[j][i]=a[counter];
counter+=1;
}
for (i=0;i<4;i++) {
for (j=0;j<4;j++) printf("%3d ",b[i][j]);
printf("");
}
return 0;
}
Объяснение кода листинга программы
- Объявлены три массива: a[10], b[4][4] и counter.
- В цикле for заполняются значениями массива a[10].
- В цикле for перебираются значения массива a[10] для заполнения массива b[4][4].
- Значения массива b[4][4] выводятся на экран в формате 3 столбца по 4 значения.
- Возвращается 0, заканчивая работу программы.