Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 25

Неправильно считывается массив

18.05.2015, 19:18. Показов 741. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть класс матриц, один из конструкторов позволяет создать матрицу, используя входные данные: количество строк, количество столбцов и массив, содержащий элементы матрицы.

Конструктор вот:
C++
1
2
3
4
5
6
7
8
9
10
11
CMatrix::CMatrix(int row, int column, double *components)
{
    matrixRow = row;
    matrixColumn = column;
    matrixComponents = new double[row*column];
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
            matrixComponents[row*i + j] = components[row*i+j];
    }
}
заданный массив:
C++
1
double matrixArray[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
Но на выходе получается вот такая ерунда:

1 2 3 4
4 5 6 7
7 8 9 10

в итоге теряются два элемента массива, а при переходе на новую строчку почему-то дублируется предыдущий. не могу понять, что не так, по идее, формула-то верная? я в тупике.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2015, 19:18
Ответы с готовыми решениями:

Неправильно считывается массив из подструктуры
https://www.cyberforum.ru/attachments/403093d1400950588Подскажите пожалуйста в чем ошибка считывания массива из файла ,а также имени. ...

Неправильно считывается массив из файла
Не пойму в чем ошибка. #include &quot;stdafx.h&quot; #include &lt;string&gt; #include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; ...

Неправильно считывается структура из файла
Добрый день, подскажите, что я делаю не так? Есть структура, находящаяся в начале файла: struct BmpHead { uint16_t bftype; ...

6
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
18.05.2015, 19:25
IMtheSupervisor, покажите функцию вывода на экран
0
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 25
18.05.2015, 19:28  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
std::ostream& operator<<(std::ostream& out, const CMatrix matrix)
{
    for (int i = 0; i < matrix.matrixRow; i++)
    {
        for (int j = 0; j < matrix.matrixColumn; j++)
        {
            out << matrix.matrixComponents[matrix.matrixRow*i + j];
            out << "\t";
        }
        out << endl;
    }
    return out;
}
То же самое, по сути.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.05.2015, 19:30
Цитата Сообщение от IMtheSupervisor Посмотреть сообщение
C++
1
matrixComponents[row*i + j] = components[row*i+j];
все-таки лучше поменять на
C++
1
matrixComponents[column*i + j] = components[column*i+j];
1
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 25
18.05.2015, 19:38  [ТС]
Даценд
Не понимаю, почему на столбец? В любом случае, выдает то же самое.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.05.2015, 19:42
И в выводе тоже

Добавлено через 3 минуты
Цитата Сообщение от IMtheSupervisor Посмотреть сообщение
Не понимаю, почему на столбец?
Допустим есть матрица 3х5
7-й по индексу элемент - это элемент 1-й по индексу строки, 2-го столбца (1*5+2=7)
0
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 25
18.05.2015, 19:42  [ТС]
Ага.. Работает. Спасибо! Проверила на бумажке - и правда на строку умножать было глупо.

Теперь вылезли новые ошибки. Пойду разбираться дальше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2015, 19:42
Помогаю со студенческими работами здесь

Неправильно считывается структура из файла
Записываю структуру А в файл, затем считываю в структуру В. Символы считываются нормально, а вот цвет фона+символа неправильно. ...

Массив считывается неверно
Скажите, пожалуйста, почему неправильно считывает? Ввожу: 1 2 3 4 5 2 3 5 6 7 1 3 4 5 3 4 3 6 2 3 6 5 4 3 2 Получаю: ...

не считывается массив из бинарного файла
Почему то выводятся не все числа #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; int...

Не могу разобраться почему не считывается массив
//--------------------------------------------------------------------------- #pragma hdrstop ...

Считать файл в массив байт (считывается не с начала)
добрый вечер, необходимо считать bmp в массив байт. делаю так но он читает почему то не сначала, прикладываю скриншот с выводом программы и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru