Як знайти суму двовимірного масиву


 

Робота з матрицями — один з найбільш ранніх етапів навчання майбутнього програміста, зокрема, вивчає мову C + + +. Завдання подібного роду дозволяють не тільки освоїти ази обробки даних, а й дають майданчик для вивчення вкладених циклів, запам’ятовування основ мови і розуміння алгоритмічного процесу як такого. Знаходження суми елементів матриці в даному контексті є одним з кращих завдань, тому що є найбільш простим і спирається на всі базові поняття програмування.


Інструкція

  1. Матриця повинна бути дана або вже сформована. У програмі вона відзначена як «A [n] [m]», де A — ім’я двовимірного масиву, n — кількість символів в стовпці, m — кількість символів у рядку. Тип даних може бути будь-який: int (цілочисельний), float (з крапкою, дробовий), char (символьний) і т.п.
  2. Для того щоб зберігати суму цифр матриці, потрібно створити змінну для зберігання, наприклад, float sum. При цьому тип змінної визначений не строго: якщо матриця дана як float, а саму змінну прийняти за int, сума все одно буде порахована, але без урахування дробової частини. Крім того, якщо матриця визначена символами (char), а змінна задана як int, то в якості суми ви отримаєте суму кодів символів.
  3. Створіть зовнішній цикл. Найбільш простий спосіб поставити його — команда for. В даному випадку код буде виглядати так: for (int i = 0; i
  4. Після створення циклу «по стовпцю» додайте цикл «по рядку». Код вийде наступний:
    for (int i = 0; i
    for (int j = 0; j
    }.
    На першому кроці програма зайде в цикл при i = 0 і зустріне внутрішній цикл по j: тобто перебере всі значення j при i = 0. Потім почнеться другий прохід і i стане рівним 1: програма пройде по j від 0 до m при i = 1.
        
  5. Всередині циклу по j додайте рядок: s = s + A [i] [j]. Цей запис означає, що S дорівнює самій собі плюс значення матриці A, що знаходиться в рядку i і стовпці j. Враховуючи, що цикл організований як перебір елементів усіх рядків і всіх стовпців, в результаті буде приплюсувавши кожен елемент A [i] [j].
  6. Підсумковий код (фігурні дужки можна прибрати):
    for (int i = 0; i
    for (int j = 0; j
    {
    s = s + A [i] [j];
    }}