Основи програмування на С ++ для початківців

Завдання: Двумерные массивы C

Чтобы приступить к решению задач, предложенных в этой статье, вам необхідно знати что такое двумерные (многомерные) массивы . Задачи расположены от простой к сложной. Так что, если вы новичок в программировании, начинайте с первой, чтобы лучше разобраться с остальными.

1. Объявить двумерный массив, заповнити цілими числами і показати на екран.

2) Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке.

3) Заповнити двовимірний масив випадковими числами від 10  до 100. Порахувати суму елементів окремо в кожному рядку і визначити номер рядка,  в якій ця сума максимальна.

Ваші запитання, которые возникли при решении задач, залишайте в коментарях до цієї статті.

73 думки про "Завдання: Двумерные массивы C

  1. У другому завданні в масив rowSum буде записуватись сума значень, які зберігаються в рядках двовимірного масиву ourMatrix. Окремо по кожному рядку.
    У масив columnSum буде записана сума по стовпцях двовимірного масиву ourMatrix.

    У третьому завданні – аналогічно. У комірки rowSum запишеться сума за рядками двовимірного масиву ourMatrix. Далі значення елементів rowSum буде порівняно між собою і буде знайдено рядок з максимальною сумою.

  2. Каюсь, я не вчитувався в рішення, просто подивився, що якісь зайві масиви є.
    Задача (дублюю щоб перед очима була): Порахувати суму елементів окремо в кожному рядку і визначити номер рядка, в якій ця сума максимальна.

    // функція обчислення суми рядка
    int rowsum(int **a, INT м, int i) {
    int sum = 0;
    for (int j = 0; j < м; ++j)
    сума + = а[i][j];
    повернення суми;
    }

    INT ** обр; // твій масив
    Int N, м; // размер массива

    int imaxsum = 0, maxsum = сума рядків(0);
    // номер рядка з максимальною сумою та сума

    for (int i = 1; i maxsum)
    maxsum = сума, imaxsum = i;
    }

    Хіба так не краще?

  3. мені не зовсім зрозуміло, як ти викликаєш функцію і передаєш до неї 0: maxsum = rowsum(0);
    Адже в заголовку безумовно три параметри
    int rowsum(int **a, int m, int i)

    1. Ну, я код схемотично описав, не перевіряв я його навіть близько.
      Правильно так:
      maxsum = сума рядків(a, м, 0);

      А взагалі, код порізався весь щось…

      1. напишіть код у тегах code /code
        треба буде дізнатися, як зробити і додати до коментарів кнопку для написання коду


  4. int rowsum(int **a, int m, int i) {
    int sum = 0;
    for (int j = 0; j < m; ++j) sum += a[i][j]; return sum; } int main() { int **arr; // твой массив int n, m; // размер массива //... int imaxsum = 0, maxsum = rowsum(a, m, 0); // номер строки с максимальной суммой и сумма for (int i = 1; i < n; ++i) int sum = rowsum(a, m, i); if (sum > maxsum)
    maxsum = sum, imaxsum = i;
    }

    Написав у тегах

  5. Ось теж вирішення другого завдання без зайвих масивів.

    #include
    using namespace std;

    int main()
    {
    int nLine, nRow, nSumLine=0, nSumRow=0;

    cout << nLine;

    cout << nRow;

    int aArray[nLine][nRow];

    for (int i=0; i < nLine; i++)
    {
    for (int j=0; j < nRow; j++)
    {
    cout << "Введите элемент " << j+1 << " строки " << i+1 <> aArray[i][j];
    }
    }

    for (int i=0; i<nLine; i++)
    {
    nSumLine = 0;
    for (int j=0; j<nRow; j++)
    {
    cout << "[" << i <<"]["<< j <<"]="<<aArray[i][j]<<" ";
    nSumLine +=aArray[i][j];
    }
    cout << "Сумма элементов в строке " << i+1 <<" = " << nSumLine << "\n";
    }

    for (int j=0; j<nRow; j++)
    {
    nSumRow = 0;
    for (int i=0; i< nLine; i++)
    {
    nSumRow +=aArray[i][j];
    }
    cout << " "<< j+1 << " = " << nSumRow << " ";
    }

    cout << "\n";

    return 0;
    }

  6. А я взагалі так вивів


    for (int i = 0; i < 3; i++)
    {
    for (int j = 0; j < 3; j++)
    {
    third = third + first[i][j];
    fourth = fourth + first[j][i];
    };
    std::cout << "sum in string " << i + 1 << " = " << third << std::endl;
    third = 0;
    std::cout << "sum in colunm " << i + 1 << " = " << fourth << std::endl;
    fourth = 0;
    };

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *