Допомога - Пошук - Користувачі - Календар
Pascal
XJedi FORUM: Online lightsaber fighting game > Всяка всячина > Кантіна > Web, Hard & Soft
Pra
Срочно нужна помощь по программированию в Pascal на тему двумерные массивы. Проблема в том, что массивы для меня это "Ахилесова пята", по них я не знаю практически ничего. Может кто-то разбирается и сможет написать мне три програмки^^ В долгу не останусь)

1). В заданiй матрицi W(7,3) всi додатнi елементи замiнити нулями, анедодатнi - одиницями. Вивести вихiдну та сформовану матрицi.

2)В заданiй матрицi B(7,3) визначити найбiльшi елементи з вiд'ємних елементiв рядкiв, що мають парнi iндекси. Вивести вихiдну матрицю та знайденi найбiльшi елементи, сформованi у виглядi масиву.

3)У частинi матрицi Z(5,5), розташованій над головною діагоналлю і на ній, знайти рядок з максимальною за модулем сумою елементiв. Вивести вихiдну матрицю, знайдену суму i номер вiдповiдного рядка.
Templar
1.

uses crt;
type
   Tmass=array[1..20] of real;
   Tmatrix=array[1..20] of Tmass;

var a:Tmatrix;                  {матрица исходная}
    i,j:integer; {Счетчики}

    finp:text;

BEGIN
    ClrScr;
    Assign(finp, 'ishodnik.txt');
        Reset(finp);
        for i:=1 to 7 do begin
            readln(finp);
            for j:=1 to 3 do
                read(finp,a[i,j]);
            read(finp,b[i]);
        end;
    Close(finp);

    writeln('Matrica:');
    for i:=1 to 7 do begin
        for j:=1 to 3 do
            write(a[i,j]:7:2);
        writeln;
    end;

   for i:=1 to 7 do begin
    for j:1 to 3 do
        if A[i,j]>0 then A[i,j]:=0
        else
        A[i,j]:=1;
  end;

    writeln('Rezyltat:');
    for i:=1 to 7 do begin
        for j:=1 to 3 do
        write(a[i,j]:7:2);
        writeln;
    end;
readln;
end.


как-то так, думаю с дебагом и принципом разберешься сам.
ishodnik.txt должен выглядеть так:
5 -9 3 7 24 12 1
-5 -8 8 6 255 2 4
-9 -6 9 -3 35 4 5

Числа заданные тобой.

2.

uses crt;
type
   Tmass=array[1..20] of real;
   Tmatrix=array[1..20] of Tmass;

var a:Tmatrix;                  {матрица исходная}
    c:array[1..20] of real;  {вспомогательная матрица}
    i,j,k,n:integer; {Счетчики}

    finp:text;

BEGIN
    ClrScr;
    Assign(finp, 'ishodnik.txt');
        Reset(finp);
        for i:=1 to 7 do begin
            readln(finp);
            for j:=1 to 3 do
                read(finp,a[i,j]);
            read(finp,b[i]);
        end;
    Close(finp);

    writeln('Matrica:');
    for i:=1 to 7 do begin
        for j:=1 to 3 do
            write(a[i,j]:7:2);
        writeln;
    end;

    for i:=1 to 7 do
    begin
    for j:=1 to 3 do
    if ((i mod 2)=0) then
     begin
         n:=k;
         k:=k+1;
         c[k]:=A[i,j];
         if a[i,j]<c[i] then
         c[k]:=a[i,j];
        end;

        writeln('Minemalnue 4isla:');
        for k:=1 to n do begin
        write(c[k]:7:2);
    writeln;
        end;
readln;
end.


3. С этим нужно повозиться, но в целом алгоритм такой:
Считывая матрицу, записываешь в два массива. Один оригинальный, второй из модулей. Во втором массиве под диагональю меняем числа на нули, считаем сумму построчно, записываем в одномерный массив. Потом сравниваем, находим наибольшее число из одномерного массива, где записывали сумму элементов. Индекс ячейки этого массива будет номером строки. Делаем вывод

ЗЫ. Писал в блокноте.
Pra
нуждаюсь еще в помоще) blush.gif
Злые преподы узнали что массивы и я несовестимые вещи и задали еще 3 проги по массивам, только уже по одномерным)
Кто поможет - дам куаг или замучу аву)xD blush2.gif

1)Обчислити та вивести середн∙ арифметичне iндексiв парних елементiв масиву P(8).

2)Всі від'мні елементи заданого масиву L(11) розділити на максимальний елемент цього масиву. Вивести максимальний елемент, початковий та перетворений масиви.

3)Задано два масива A(8) та B(8), якi упорядкованi за зростанням.Визначити кiлькicть елементiв, що спiвпадають у двох масивах та їх значення. Вивести вихiднi масиви, елементи, що спiвпадають та їх кількість
.
Invision Power Board © 2001-2025 IPS , Inc.