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

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

18.05.2015, 19:18. Показов 787. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru