• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Перевод с Pascal на СИ

steamangarsk

Новые
Регистрация
28 Дек 2012
Сообщения
20
Реакции
0
Баллы
0
Перевод с 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, параллельных его главной диагонали, включая саму диагональ.
 
Назад
Сверху