Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
YELLOOOW
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 6
#1

Считывание чисел из файла в массив и ошибка: "Invalid allocation size: 4294967295 byte" - C++

05.09.2014, 22:42. Просмотров 2835. Ответов 22
Метки нет (Все метки)

Всем привет.
Есть два вопроса.
1. Нужно считать из txt файла числа в массив столбцов и строк. Код вроде правильный, но пишет ошибку:"Invalid allocation size: 4294967295 byte".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream> 
#include <algorithm> 
#include <ctime> 
#include <iostream> 
using namespace std; 
int main() 
{ 
int row, col; 
ifstream ifs("matrix.txt"); 
ifs >> row >> col; 
int ** a = new int * [row]; 
for (int r = 0; r < row; r++, cout << endl) { 
a[r] = new int [col]; 
for (int c = 0; c < col; c++) { 
ifs >> a[r][c]; 
cout << a[r][c] << ' '; 
} 
} 
for (int r = 0; r < row; r++) delete[] a[r]; 
delete[] a; 
cin.get(); 
return 0; 
}
2. Нужно считать из txt файла n чисел (которые идут в ряд через пробел), и записать их в массив. Тут возникли трудности... есть пример какого-то кода?

Извиняюсь за дурацкие вопросы.
Буду благодарен за ответ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 22:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание чисел из файла в массив и ошибка: "Invalid allocation size: 4294967295 byte" (C++):

Код при компиляции пишет ошибку: "Invalid allocation size: 4294967295 byte" - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;stdio.h&gt; using namespace std; struct list{ int d; list *next;}; int...

Invalid allocation size 4294967295 bytes - C++
Здравствуйте! Пытаюсь реализовать алгоритм обхода Грэхема. При запуске приложения появляется критическая ошибка: Invalid allocation size...

Ошибка - invalid allocation size: 4294967292 bytes - C++
Выполняю лабораторную работу №6 в методичке (прикрепил ее в посте), там программа - Многопроцессная обработка данных. Саму программу можно...

Указатели, Динамическое выделение памяти, Ошибка invalid allocation size - C++
Есть задание: Есть решение: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; void func(int **a,int lines,int...

Ошибка "Bad allocation" при обращении к массиву - C++
Такая проблема: выбивает bad allocation в 59 строке мейна. Запустите программу, введите 2 числа и выберите &quot;Сложение&quot;, введите &quot;0 1&quot;. ...

Ошибка: invalid conversion from "int" to "SDL_RendererFlip" - C++
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать

22
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
05.09.2014, 23:28 #2
YELLOOOW
1) Что находится в matrix.txt?
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <fstream>
#include <cstdio>
 
int main()
{
    std::ifstream file("file.txt");
    if(file)
    {
        std::vector<int> vec;
        int num;
        while(file >> num) vec.push_back(num);
    }
    else
        std::perror("Error");
 
    file.close();
 
    return 0;
}
0
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
06.09.2014, 02:26 #3
я немного не понял 2. задание, но вот что у меня получилось. Извиняюсь заранее, я не так давно начал программировать

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
#include <iostream>
#include <fstream>
 
using namespace std;
 
const int N = 15;
 
int main(){
 
   int arr[N] = {0};
 
   ifstream infile("lala.txt");
 
        int index = 0;
        while(!infile.eof())
        {
               infile >> arr[index];
               index++;
        }
 
            cout << endl;
            for(int i = 0; i < index; i++)
            {
                 cout << " " << arr[i];
            }
 
 
return 0;
}
текст файл lala выглядел так
1
2

31
2
221
2
19
2
8
0
alsav22
5422 / 4817 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2014, 02:32 #4
Цитата Сообщение от wrone Посмотреть сообщение
я не так давно начал программировать
Открытие файла для чтения всегда проверять нужно.
0
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
06.09.2014, 02:40 #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Открытие файла для чтения всегда проверять нужно.
что значит проверять? Еще я забыл добавить .close()
0
alsav22
5422 / 4817 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2014, 02:47 #6
Цитата Сообщение от wrone Посмотреть сообщение
что значит проверять?
Открылся файл или нет. Может его не существует, или он не там, где нужно находится. 2 пост, 9 строка.
Цитата Сообщение от wrone Посмотреть сообщение
Еще я забыл добавить .close()
Правильно, но, в данном случае, необязательно: при завершении программы закроется.
0
YELLOOOW
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 6
06.09.2014, 17:34  [ТС] #7
1. В файле находится матрица, допустим размерностью 4x4.
2. При запуске выбивает аналогичную ошибку, как и с (1).
0
alsav22
5422 / 4817 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2014, 18:34 #8
Цитата Сообщение от YELLOOOW Посмотреть сообщение
1. В файле находится матрица, допустим размерностью 4x4.
2. При запуске выбивает аналогичную ошибку, как и с (1).
Содержимое файла покажите.
1
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.09.2014, 19:37 #9
YELLOOOW, мой вариант 2-го задания проверяли?
Ошибка конечно же будет что с вашим кодом, что с кодом wrone.
В случае wrone в файле может быть больше 15 элементов.
А в вашем случае:
C++
1
ifs >> row >> col;
Всё должно работать если в текстовом файле помимо элементов матрицы будет ещё два элемента отвечающие
за высоту и ширину (строки и столбцы), а именно:

Код
4 4
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16
1
YELLOOOW
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 6
07.09.2014, 02:02  [ТС] #10
Цитата Сообщение от GuGo1991 Посмотреть сообщение
YELLOOOW, мой вариант 2-го задания проверяли?
Ошибка конечно же будет что с вашим кодом, что с кодом wrone.
В случае wrone в файле может быть больше 15 элементов.
А в вашем случае:
C++
1
ifs >> row >> col;
Всё должно работать если в текстовом файле помимо элементов матрицы будет ещё два элемента отвечающие
за высоту и ширину (строки и столбцы), а именно:

Код
4 4
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16
проверял, выбивает ошибку.
Какое у вас содержимое файла "file.txt"?
По поводу первого задания понял, спасибо.

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Содержимое файла покажите.
уже разобрался с первым =)
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.09.2014, 02:57 #11
Цитата Сообщение от YELLOOOW Посмотреть сообщение
проверял, выбивает ошибку
А что за ошибка?
Цитата Сообщение от YELLOOOW Посмотреть сообщение
Какое у вас содержимое файла "file.txt"?
Целые числа
0
YELLOOOW
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 6
07.09.2014, 15:47  [ТС] #12
Цитата Сообщение от GuGo1991 Посмотреть сообщение
А что за ошибка?

Целые числа
Invalid allocation size: 4294967295 byte
0
alsav22
5422 / 4817 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.09.2014, 15:52 #13
Цитата Сообщение от YELLOOOW Посмотреть сообщение
Invalid allocation size: 4294967295 byte
Какой код пробуете и содержимое файла покажите.
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.09.2014, 16:33 #14
Цитата Сообщение от alsav22 Посмотреть сообщение
содержимое файла покажите
Поддерживаю
0
YELLOOOW
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 6
07.09.2014, 17:34  [ТС] #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Какой код пробуете и содержимое файла покажите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <fstream>
#include <cstdio>
 
int main()
{
    std::ifstream file("D:\file.txt");
    if(file)
    {
        std::vector<int> vec;
        int num;
        while(file >> num) vec.push_back(num);
    }
    else
        std::perror("Error");
 
    file.close();
 
    return 0;
}
Содержимое:
3 2 4 1 2 5
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2014, 17:34
Привет! Вот еще темы с ответами:

Ошибка при компиляции "Size of the type 'char[]' is unknown or zero" - C++
При компиляции, появляется ошибка: Unit1.cpp(15): E2453 Size of the type 'char' is unknown or zero Помогите исправить. Вот текст...

Ошибка "variable-size type declared outside of any function" - C++
#include &lt;iostream&gt; using namespace std; int N,K,M; void vvod(int N,int A,int I); // &lt;--- void proverka(int J,int M,int A1); ...

Бинарный поиск, ошибка: "Invalid operands to binary expression" - C++
При компиляции программы XCode ругается на: algorithm:677:97: Invalid operands to binary expression ('const Luggage' and 'int') Сломал...

Из-за чего может возникать следующая ошибка: "Invalid null pointer"? - C++
NEBTELA* fggff; //указатель на объект базового класса fggff = new Zvezda; //переопределение в объект производного класса в...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
07.09.2014, 17:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru