Встал перед вопросом, как считать числа из текстового файла напрямую в массив.
ifstream in("input.txt");
if (!in)
{
cout << "File not found" << endl;
system("pause");
return 1;
}
//сколько чисел в файле
int count = 0;
int temp;
while (!in.eof())
{
in >> temp;
count++;// счетчик числа чисел
}
in.seekg(0, ios::beg);
in.clear();
int count_space = 0;
char symbol;
while (!in.eof())
{
in.get(symbol);
if (symbol == ' ') count_space++;
if (symbol == '\n') break;
}
Наваял пока только это, дальше ухожу в гору ошибок. Подскажите решение, если можно как-то проще решить эту задачу был бы рад узнать как. Числа могут быть представлены по разному: в одной строке, в нескольких строках, с кучей пробелов между ними(не знаю, как адаптировать свои условия к этому).
Где же у вас правильный вопрос?... В заголовке - числа из файла в массив. Я отвечаю на него.
Вам нужен именно массив в C'шном смысле? Или в C++'ном, где его с успехом заменяет вектор? :)
Проще всего, пожалуй, так:
vector<int> data;
...
int n;
while(in >> n) data.push_back(n);
А в тексте - уже говорите о символах. Вы уж определитесь...
И еще - проверять while(!in.eof()) - неверно, потому что флаг конца файла будет выставлен после неудачного чтения за концом файла, т.е. вы можете стоять на конце файла, но in.eof() вернет false.
Update
int n, count = 0;
while(in >> n) ++count;
in.clear();
in.seekg(0, ios::beg);
int * data = new int[count];
count = 0;
while(in >> n) data[count++] = n;
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости