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

Ошибка при записи двумерного массива в файл

14.11.2017, 18:52. Показов 851. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Написал следующий код в Visual Studio:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "stdafx.h"
 
 
#include <iostream>
#include <fstream>
using namespace std;
 
int main() 
{
    const int size = 357;
 
    double array [size][size];
 
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            array [i][j] = rand() % 41 - 20;
        }
    }
 
    ofstream fout("mymatrix.dat", ios::out);
 
    fout << size << '\n';
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
             fout << array [i][j] << " ";
        }
        fout << '\n';
    } 
    fout.close();
    
    return 0;
}


Пытаюсь записать в файл двумерный массив. (Первой строкой указывается размерность и далее сам массив)
Пытался записывать в одну колонку и пытался (как на примере выше) в виде таблицы через пробелы.
Проблема в том, что когда количество элементов переваливает за 356 у меня вываливается ошибка.
Кликните здесь для просмотра всего текста

Необработанное исключение по адресу 0x5B8AE027 (msvcr110d.dll) в Write22Array.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x00172000).

Запускаю в отладчике. По отладчику видно, что падение происходит уже после инициализации массива, т.е. когда попадает в цикл и считывает файл.
Объясните, пожалуйста, почему такая ошибка возникает и как можно обойти проблему.
---
С аналогичным столкнулся при считывании массива.

Добавлено через 8 минут
Мне необходимо записать в файл около 10 000 строчек, если такое вообще возможно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2017, 18:52
Ответы с готовыми решениями:

Ошибка при записи из массива в файл - Is not a valid stream resource
Пытаюсь записать данные из массива в файл. В итоге мне говорят Warning: fwrite(): 3 is not a valid stream resource и тоже самое про функцию...

Access Violation at address. при записи в StringGrid двумерного массива
Пожалуйста, подскажите в чем здесь дело. Пытался реализовать сложение матриц. Button2 нужна для решения другой задачи, прошу не обращать...

Ошибка при вводе двумерного массива
Здравствуйте! Нужно: 1. Написать программу с использованием двумерного массива для сохраниния данных о месячных продажах книжек...

2
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
14.11.2017, 19:00
Ошибка начинается тут:
C++
1
2
3
4
5
int main() 
{
    const int size = 357;
 
    double array [size][size];
Слишком большой массив для стека. Используй динамическую память.
1
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
14.11.2017, 19:02
потому что стек не резиновый. Выделяйте память через new(). Либо используйте Виндовый API для выделения большого куска памяти.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2017, 19:02
Помогаю со студенческими работами здесь

Ошибка при создании двумерного массива
Моя цель: создать матрицу (ее размерность должна вводится через cmd) и заполнить ее случайными числами (используя rand) в промежутке . ...

Ошибка при выводе двумерного массива
Ребят помогите решить проблему с массивом. Вот задание: Дан целочисленный массив X. Заменить в нем все элементы меньше 5 числом 111. ...

Ошибка при заполнении двумерного массива
Здравствуйте. Программа через раз выдает ошибку, когда размерность массива(высота/ширина) &lt; 20. Когда же размерность 20+,...

Ошибка при инициализации двумерного массива
Доброго времени суток. В процессе создания программы для перевода числа из С/С = в 10чную, но столкнулся с проблемой объявления...

Ошибка при создании двумерного динамического массива
Нужно создать матрицу (на основе динамики (язык СИ)). В чем ошибка? void main() { int i,j,n,m; printf(&quot; input size...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru