• Программисты, помогите! Pascal abc или PascalABC. NET. Дан массив размером n×n, элементы которого целые числа. Для каждого столбца найти первый положительный элемент и записать данные в новый массив. При решении использовать двумерный массив.

Ответы 12

  • если честно, я задачи PascalABC пишу на PascalABC.NET. И все нормально
  • Конечно, если Вы при этом используете не язык PascalABC.NEt, а оставленный для совместимости Turbo/Ree Pascal
  • *Turbo/Free Pascal
    • Автор:

      kristen
    • 6 лет назад
    • 0
  • Только это все равно, что купить BMW и ездить на нем по двору своего дома.
    • Автор:

      titus
    • 6 лет назад
    • 0
  • Наверно, я в этом не шарю
    • Автор:

      pig
    • 6 лет назад
    • 0
  • label next - инициализирует метку с названием "next". Блок с метками, как var для переменных
  • goto next - перейди на метку "next"
    • Автор:

      andrews
    • 6 лет назад
    • 0
  • next: - место метки "next"
  • Понятно, благодарю
  • Всегда пожалуйста
  • PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018Внимание! Если программа не работает, обновите версию!

    begin

     var n := ReadInteger('Количество строк/столбцов в массиве:');

     Writeln('*** Исходный массив ***');

     var a := MatrRandom(n, n, -99, 99);

     a.Println(4); Writeln(4 * a.ColCount * '-');

     var b := a.Cols.Select(row -> row.Where(t -> t > 0).First).ToArray;

     b.Println

    end.

    answer img
    • Автор:

      jordan905
    • 6 лет назад
    • 0
  • label next;

    var a: array of array of integer;

    b: array of integer;

    i,j,n: integer;

    begin

    write('Введите  N: ');

    readln(n);

    setlength(a,n);

    setlength(b,n);

    for i:=0 to n-1 do setlength(a[i],n);

    for i:=0 to n-1 do

    for j:=0 to n-1 do a[i,j]:=60-random(100);

    writeln('Полученный массив: ');

    for i:=0 to n-1 do begin writeln;

    for j:=0 to n-1 do write(a[i,j],' ');

    end;

    i:=0;

    j:=0;

    while (i<n) do begin

    while (j<n) do begin

    if (a[i,j]>0) then begin

    b[i]:=a[i,j];

    j:=0;

    goto next;

    end else inc(j);

    end;

    next: inc(i);

    end;

    writeln;

    writeln('Отобранные данные: ');

    for i:=0 to n-1 do write(b[i],' ');

    readln;

    end.

    answer img
    • Автор:

      abbiehvkb
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years