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

Считать длину строки текстового файла - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Кротяка
 Аватар для Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 370
07.12.2013, 02:59     Считать длину строки текстового файла #1
Есть квадратная матрица, которая заполняется данными из файла. Если размерность матрицы больше, чем объём данных в файле, то нужно заполнить недостающие элементы матрицы случайными числами. Пытаюсь сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cout<<"Введите размерность квадартной матрицы: ";
cin>>s;
int **mas = new int*[s];
 
ifstream fs;
fs.open("input.txt");
int a = fs.getline;
 
if(s > a){
    for(i = a + 1; i < s; i++)
        for(j = a + 1; j < s; j++)
            mas[i][j] = rand() % 19 - 9;
}
Предполагаю, что неправильно считывается длина строки. Вопрос: как правильно её считать? Чтобы условие задачи выполнялось
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.12.2013, 18:08     Считать длину строки текстового файла #21
Цитата Сообщение от Кротяка Посмотреть сообщение
нужно просто в фигурные скобки добавить для циклов
Это о чём?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кротяка
 Аватар для Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 370
09.12.2013, 23:26  [ТС]     Считать длину строки текстового файла #22
alsav22, скобки фигурные, вот так
C++
1
2
3
4
5
6
7
8
            for(i = 0; i < s; i++){
                for(j = 0; j < s; j++){
                    if(!fs.eof())
                        fs>>mas[i][j];
                    else
                        mas[i][j] = rand() % 19 - 9;
                }
            }
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.12.2013, 23:31     Считать длину строки текстового файла #23
И что от этого изменится?

Добавлено через 1 минуту
Недостаток такого варианта (if(!fs.eof())) поняли?
Цитата Сообщение от Alex5 Посмотреть сообщение
Последние символы файла могут быть пробелами. eof() вернёт false и мы попытаемся прочитать число, когда в файле остались одни пробелы. См.рис. ( В файле: "1111 2222 3333 " )
Кротяка
 Аватар для Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 370
09.12.2013, 23:58  [ТС]     Считать длину строки текстового файла #24
alsav22, не будет пустого поля
по крайней мере мне помогло

Добавлено через 11 секунд
недостатка не выявил

Добавлено через 10 секунд
возможно пока ещё
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.12.2013, 00:00     Считать длину строки текстового файла #25
Цитата Сообщение от Кротяка Посмотреть сообщение
не будет пустого поля
В файле не будет?
Кротяка
 Аватар для Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 370
10.12.2013, 00:03  [ТС]     Считать длину строки текстового файла #26
alsav22, в сформированной матрице

Добавлено через 1 минуту
ну т.е. не будет значения -8234414....(и т.д.)
как на скриншоте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2013, 00:23     Считать длину строки текстового файла
Еще ссылки по теме:

Из текстового файла считать матрицу и записать ее в бинарный файл C++
Как считать информацию с текстового файла? C++
C++ Из текстового файла считать массив целых чисел

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.12.2013, 00:23     Считать длину строки текстового файла #27
Если в файле, то смотря как его создавать. Если вручную, то как напишите, так и будет. Если в коде записывать в файл числа через пробел, то будет. Поэтому рекомендую вариант, предложенный Alex5, который будет правильно работать в обоих случаях.

Добавлено через 19 минут
Цитата Сообщение от Кротяка Посмотреть сообщение
ну т.е. не будет значения -8234414....(и т.д.)
как на скриншоте
Значит в файле нет пробела за последним числом.
Yandex
Объявления
10.12.2013, 00:23     Считать длину строки текстового файла
Ответ Создать тему
Опции темы

Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru