С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Потерялся в двумерном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перегрузить оператор<< и оператор>> ? http://www.cyberforum.ru/cpp-beginners/thread1793490.html
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем у меня есть обьект в который содержит массив типа char и его...
C++ Нюансы использования файлового ввода/вывода Подскажите пожалуйста ещё по 1 вопросу. У меня в коде целочисленный массив (на данный момент все элементы равны 0). Мне надо что бы в программе можно было менять эти переменные не изменяя код. Для... http://www.cyberforum.ru/cpp-beginners/thread1793476.html
Сортировка перестановками C++
Хотел написать функцию для сортировки. Компилятор ошибок не выдает.На выводе выходит это: 3 2 5 4 1 8 6 9 7 11 13 10 12 14 -858993460 . Писал в Visual Studio. #include "stdafx.h" #include...
C++ Реализовать автоматизированную информационную систему железнодорожного вокзала (динамические структуры данных)
Задание работы: Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: □ номер...
C++ Проверить попадание точки в заданный сектор http://www.cyberforum.ru/cpp-beginners/thread1793368.html
Как перед танчиком проверить сектор с углом 60 градусов радиуса R?
C++ Не компилируется рекурсивная шаблонная функция Добрый день! Есть функция:#include <iostream> template<uint8_t data, uint8_t ...other> static void write() { std::cout << data << std::endl; write<other...>(); } подробнее

Показать сообщение отдельно
Lexxxxy
5 / 5 / 4
Регистрация: 07.08.2016
Сообщений: 33
13.08.2016, 22:50
MansMI, Doctor123, присоединяюсь к вышеизложенному.
Причина в том, что вы объявили массив, так, что у вас "m" - строки, "n" - столбцы.
C++
1
2
3
4
int a[m][n];   // вот здесь "m" - строки, "n" - столбцы
for (int i = 0; i<n ; i++){   // а вот здесь "n" - строки
for (int j = 0; j<m ; j++){ // "m" - столбцы
//......
Хотя должно быть всё наоборот. И получается переполнение.

Данный фрагмент должен выглядеть так:
C++
1
2
3
int a[m][n];  
for (int i = 0; i<m ; i++){   // теперь "m" - строки
for (int j = 0; j<n ; j++){ // "n" - столбцы
Как и должно быть.

Добавлено через 3 минуты
Цитата Сообщение от Overloading Посмотреть сообщение
И почему если помнять int a[m][n] на int a[n][m] то ничего не меняется?
Причина этого всё та же.
У вас получается, что количество строк - 4("n"), а количество столбцов - 6("m"), как у вас и вышло при компиляции.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.