tâches: matrices à deux dimensions C ++

Pour commencer à résoudre les problèmes, proposée dans cet article,, vous devez savoir qui est bidimensionnelle (multidimensionnel) tableaux . Les tâches sont disposées du simple au complexe. si, Si vous êtes nouveau à la programmation, commencer par la première, pour mieux faire face à l'autre.

1. Déclarez un tableau à deux dimensions, remplir des entiers et afficher sur l'écran.

2) Déclarer un tableau à deux dimensions et le remplir ligne par ligne à partir du clavier. après le remplissage – show remplie d'une matrice sur l'écran et calculer la somme des éléments séparément dans chaque colonne et chaque rangée.

3) Remplissez tableau à deux dimensions de nombres aléatoires 10 à 100. Calculer la somme des éléments séparément dans chaque ligne et à déterminer le numéro de ligne, dans lequel cette somme est maximale.

Je répondrai à toutes vos questions, ont vu le jour dans la résolution de problèmes, commentaires sur cet article.

Pour soutenir notre site – cliquez sur la tirelire et choisir un moyen pratique.

Bulletin de nouvelles leçons sur la programmation:

tâches: matrices à deux dimensions C ++
4.3 (86.67%) 12 votes

66 réflexions sur "tâches: matrices à deux dimensions C ++

  1. Задачу №3 можно решить используя лишь 1 цикл с вложенным, место трёх, en réponse.

    1. Согласен, не стоит давать такие глупые решения задач новичкам, в том числе и мне. Нужно приучать людей с самого начала использовать меньше ненужных циклов, чтобы улучшить скорость выполнения программы..

      Вот нормальное решение 3-го задания: cpp.sh/9zvl

      1. Глупость написана (проулучшить скорость выполнения программы”).

  2. 1. Попытался решить задачу №2, введя две константы:
    iLine на число строк
    iColumn на число столбцов
    то есть количество строк не совпадает с количеством столбцов. В результате после компиляции, выводится не верное значение суммы 3-го столбца. В чем моя ошибка?
    2. В примере решения задачи №2 в строке кода №35, я так понимаю вместо columnSum[rowNum]—— doit être —–columnSum[COLUMNNUM] ou je me trompe?

    1. IMHO, если количество строк не совпадает с количеством столбцов, то нужно создавать два отдельных цикла для подсчета сумы строк и столбцов.

    2. та же проблема была, вот такое выдумал.

      #comprendre
      #comprendre
      using namespace std;

      int main()

      {
      setlocale(LC_ALL, “rus”);
      const int strok = 2;
      const int stolb = 3;
      int tableau[strok][stolb] = {};
      int isumm[strok] = {};
      int isum[stolb] = {};
      int s(0), st(0);

      cout << "Заполните таблицу"<<endl;

      pour (int s = 0; s < strok; s++)

      {
      pour (int st = 0; st < stolb; st++)
      {
      cout << "Введите значение " << s + 1 << "-й стройки и " << st + 1 <> tableau[s][st];

      }
      cout << endl;
      }

      pour (int s = 0; s < strok; s++)
      {
      pour (int st = 0; st < stolb; st++)
      {
      cout <<setw(5)<< tableau[s][st];
      isumm[s]+= array[s][st];
      isum[st]+= array[s][st];
      }
      cout << endl;

      cout << endl;

      }
      pour (int i = 0; je < strok; i ++)
      {
      cout << je + 1 << "-ая строка cумма " << isumm[je] << " " << endl;

      }
      pour (int i = 0; je < stolb; i ++)
      {
      cout << je + 1 << "-ый столбец cумма " << isum[je] << " " << endl;
      }

      retour 0;
      }

  3. А как заполнить прямоугольную матрицу состоящую только из нулей и единиц , имеющей N строк M столбцов

  4. Salut. Решил вторую задачу. все работает как надо. Потом зашел посмотреть решение. Там тоже все ок. MAIS. Не понимаю зачем записывать сумму всех строк и всех столбцов в массивы когда можно записать в переменные? Какой в этом смысл? Voici ma solution. Делал без всяких красивостей.

    #comprendre
    using namespace std;

    int main()
    {
    int matrixSize = 3;

    int arr[matrixSize][matrixSize] = {};

    // Ввод двумерного массива с клавиатуры
    pour(int i = 0; je < matrixSize; i ++)
    {
    pour(int j = 0; j > arr[je][j];
    }
    }

    // Вывод двумерного массива
    pour(int i = 0; je < matrixSize; i ++)
    {
    pour(int j = 0; j < matrixSize; j ++)
    {
    cout<<"\t"<<arr[je][j];
    }
    cout<<endl;
    }

    // Вычисление и вывод суммы строк
    pour(int i = 0; je < matrixSize; i ++)
    {
    int somme = 0;
    pour(int j = 0; j < matrixSize; j ++)
    {
    sum += arr[je][j];
    }
    cout<<endl<<somme;
    }

    cout<<endl<<endl;

    // вычисление и вывод суммы столбцов
    pour(int i = 0; je < matrixSize; i ++)
    {
    int somme = 0;
    pour(int j = 0; j < matrixSize; j ++)
    {
    sum += arr[j][je];
    }
    cout<<somme<<endl;
    }
    }

    1. #comprendre
      using namespace std;

      int main()
      {
      int matrixSize = 3;

      int arr[matrixSize][matrixSize] = {};

      // Ввод двумерного массива с клавиатуры
      pour(int i = 0; je < matrixSize; i ++)
      {
      pour(int j = 0; j > arr[je][j];
      }
      }

      // Вывод двумерного массива
      pour(int i = 0; je < matrixSize; i ++)
      {
      pour(int j = 0; j < matrixSize; j ++)
      {
      cout<<"\t"<<arr[je][j];
      }
      cout<<endl;
      }

      // Вычисление и вывод суммы строк
      pour(int i = 0; je < matrixSize; i ++)
      {
      int somme = 0;
      pour(int j = 0; j < matrixSize; j ++)
      {
      sum += arr[je][j];
      }
      cout<<endl<<somme;
      }

      cout<<endl<<endl;

      // вычисление и вывод суммы столбцов
      pour(int i = 0; je < matrixSize; i ++)
      {
      int somme = 0;
      pour(int j = 0; j < matrixSize; j ++)
      {
      sum += arr[j][je];
      }
      cout<<somme<<endl;
      }
      }

  5. Задан двумерный массив А из 5-и строк и 4-х столбцов. Составить программу, которая вычисляет значение произведения сумм строк.

  6. #comprendre
    #comprendre
    using namespace std;

    void main()
    {
    setlocale(LC_ALL, “ru”);
    srand(temps(NUL));
    const int ROWS = 5;
    const int COLS = 4;
    int z = 0;
    x = int 0;
    int ms [ROWS][COLS]{};
    int ms2 [ROWS]{};
    pour (int i = 0; je < ROWS; i ++)
    {
    pour (int j = 0; j z)
    {
    z = ms2[je];
    x = i;
    }
    }
    }
    pour (int i = 0; je < ROWS; i ++)
    {
    pour (int j = 0; j < COLS; j ++)
    {
    cout << ms[je][j] << "\t";
    }
    cout << "|" << "сумма " << je + 1 << " строки = " << ms2[je] << endl;
    }
    cout << "максимальное значение у " << X + 1 << " lignes – " << z << endl;
    }

  7. задача №1:
    #comprendre
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);

    const int = RowCount 3;
    const int ColumnCount = 4;

    int ourMatrix[RowCount][ColumnCount] = {};

    pour (int = numLigne 0; rowNum < RowCount; rowNum ++)
    {
    pour (int columnNum = 0; COLUMNNUM < ColumnCount; columnNum++)
    {
    ourMatrix[rowNum][COLUMNNUM] = rowNum + COLUMNNUM;
    cout << ourMatrix[rowNum][COLUMNNUM] << " ";
    }
    cout << endl;
    }
    retour 0;
    }

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *