Показать сообщение отдельно
Старый 16.03.2014, 15:24   #1 (permalink)
steamangarsk
Member
 
Регистрация: 28.12.2012
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Перевод с Pascal на СИ

Помогите перевести на СИ
Код:
Program Variant_8;
uses crt;
type mas=array[1..20, 1..20] of integer;

var n, i, j: integer;
    v:array[1..40] of integer;
    a:mas;

procedure Vector(a:mas);
var x, y, i, j, max : integer;
begin
   for i := 1 to 2 * n - 1 do
   begin
        if (i <= n) then
        begin
           x := i;
           y := 1;
        end
        else
        begin
           x := n;
           y := i - n + 1;
        end;
                
        while((x > 0) and (y <= n)) do
        begin
             if a[x, y] > max then
                max := a[x, y];
             x := x - 1;
             y := y + 1;
        end;

        v[i] := max;
   end;
end;

begin
   write('n=');
   readln(n);
   writeln(‘Enter ',n*n,' of elements of a matrix:');
   for i := 1 to n do
       for j := 1 to n do
       begin
           write('a[',i,',',j,']=');
           read(a[i,j]);
       end;

   writeLn('Initial matrix’);
   for i:=1 to n do
   begin
        for j:=1 to n do
            write(a[i,j]:4);
        writeLn;
   end;

   Vector(a);
   
   writeln('Vector:');
   for i := 1 to 2 * n - 1 do
       write(v[i], ' ');
   writeln;
end.
Если нужно то задание такое: Создать процедуру, формирующую вектор vector2n-1 из максимальных элементов диагоналей целочисленного квадратного массива matrixnn, параллельных его главной диагонали, включая саму диагональ.
steamangarsk вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070