1. rwikk113.03.2025 в 00:28от
Загрузка...

Нужна помощь с паскалем

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Tim9541, 28.11.2012.

  1. Tim9541

    Tim9541

    Статус:
    Оффлайн
    Регистрация:
    12.11.12
    Сообщения:
    176
    Репутация:
    148 +/-
    Нужна помощь в написании программы на Pascal. Двумерный массив

    Дана матрица A[10,10] чисел от 1 до 99
    1) Записать матрицу
    2) Определить сумму элементов главной диагонали
    3) Обнуление (A[I,j]=0) любого элемента по его индексам
    4) Реализовать определение суммы элементов любого столбца или любой строки по запросу
     
  2. xxxsinetxxx

    xxxsinetxxx

    Статус:
    Оффлайн
    Регистрация:
    23.07.12
    Сообщения:
    248
    Репутация:
    178 +/-
    мля ппц) попросите у одногруников)
     
  3. Tim9541

    Tim9541

    Статус:
    Оффлайн
    Регистрация:
    12.11.12
    Сообщения:
    176
    Репутация:
    148 +/-
    :D Да они все такие же.. Почти все или покупают задачи или на форумах спрашивают :) Просто платить тем, кого предлагают я принципиально не стану :)
     
  4. Tim9541

    Tim9541

    Статус:
    Оффлайн
    Регистрация:
    12.11.12
    Сообщения:
    176
    Репутация:
    148 +/-
    Ребят, помогите :)
     
  5. Arkalius

    Arkalius

    Статус:
    Оффлайн
    Регистрация:
    24.10.12
    Сообщения:
    149
    Репутация:
    35 +/-
    Я могу, напиши мне в скайп
     
  6. zazafaka

    zazafaka

    Статус:
    Оффлайн
    Регистрация:
    22.11.11
    Сообщения:
    173
    Репутация:
    40 +/-
    Был бы c++ я бы с удовольствием , а к паскалю сори на км не подойду)
     
  7. freezee

    freezee

    Статус:
    Оффлайн
    Регистрация:
    27.11.12
    Сообщения:
    19
    Репутация:
    4 +/-
    Код:
    
    
    это ведь фигня :)
    в скайп стукани напишу ща по бырику.
    ладно, написал в силу своих знаний:
    Код:
    var
      a: array[1..10, 1..10] of integer;
      i, j, k, l, m, t, y: integer;
    
    function summ(x: integer): integer;//строчки
    var
      k, i, j: integer;
    begin
      k := 0;
      for i := x to x do 
      begin
        for j := 1 to 10 do 
        begin
          k := k + a[i, j];
        end;
      end;
      summ := k;
    end;
    
    function summ1(x: integer): integer;//столбца
    var
      k, i, j: integer;
    begin
      k := 0;
      for i := 1 to 10 do 
      begin
        for j := x to x do 
        begin
          k := k + a[i, j];
        end;
      end;
      summ1 := k;
    end;
    
    begin
      k := 0;
      randomize;
      for i := 1 to 10 do 
      begin
        for j := 1 to 10 do 
        begin
          a[i, j] := random(100);
          write(' ', a[i, j]);
        end;
        writeln;
      end;
      
      for i := 1 to 10 do   //сумма
      begin
        for j := i to i do 
        begin
          k := k + a[i, j];
        end;
        j := j + 1;
      end;
      writeln('Сумма=', k);
      writeln('столбец или строчку?(если столбец то 1,если строчку то 0)');
      readln(t);
      writeln('Введите номер столбца или строчки');
      readln(y);
      if t = 0 then writeln('сумма строчки=', summ(y)) else writeln('сумма столбца=', summ1(y));
      writeln('что обнулить?');
      readln(l, m);
      a[l, m] := 0;
    end.
    зы: Заполняется рандомом, заменишь. Надеюсь умеешь
     
    Последнее редактирование: 07.12.2012
  8. Tim9541

    Tim9541

    Статус:
    Оффлайн
    Регистрация:
    12.11.12
    Сообщения:
    176
    Репутация:
    148 +/-
    freezee, спасибо :) Вроде правильно :) правда, написал уже в таком виде :
    type
    arr = array [0..9, 0..9] of integer;

    var
    B: arr;
    i, j, sum, sumd, k, x: integer;

    procedure st(A: arr; k: integer; var sum: integer);
    var
    i, j: integer;
    begin
    for i := 0 to 9 do
    for j := k to k do
    sum := sum + A[i, j];

    writeln('Сумма ', k, '-го столбца: ', sum);
    end;

    procedure str(A: arr; k: integer; var sum: integer);
    var
    i, j: integer;
    begin
    for i := k to k do
    for j := 0 to 9 do
    sum := sum + A[i, j];

    writeln('Сумма ', k, '-й строки: ', sum);
    end;

    begin
    x := 0;
    sum := 0;
    sumd := 0;
    for i := 0 to 9 do
    for j := 0 to 9 do
    begin
    B[i, j] := random(99)+1;
    sumd := sumd + B[i, i];
    end;

    for i := 0 to 9 do
    begin
    for j := 0 to 9 do
    write(B[i, j]:4);
    writeln;
    end;

    writeln('Сумма элементов главной диагонали:', sumd);
    writeln('1.Сумма строки');
    writeln('2.Сумма столбца');
    write('Выберите вариант: ');
    readln(x);
    case x of
    1:
    begin
    Write('Введите номер строки: ');
    readln(k);
    str(B, k, sum);
    end;
    2:
    begin
    Write('Введите номер столбца: ');
    readln(k);
    st(B, k, sum);
    end;
    end;

    writeln('Введите индексы.');
    write('Строка: ');
    readln(i);
    write('Столбец: ');
    readln(j);
    B[i,j]:=0;

    for i := 0 to 9 do
    begin
    for j := 0 to 9 do
    write(B[i, j]:4);
    writeln;
    end;
    end.
    Но твой вариант мне нравится больше :)

    P.S если что, можно к тебе обратиться ?)
     
  9. freezee

    freezee

    Статус:
    Оффлайн
    Регистрация:
    27.11.12
    Сообщения:
    19
    Репутация:
    4 +/-
    конечно, в лс :)
    от плюса не откажусь :3