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

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

Войти
Регистрация
Восстановить пароль
 
lp_4eva
Учусь...
59 / 2 / 1
Регистрация: 20.03.2010
Сообщений: 167
#1

Чтение из файла - C++

21.11.2011, 22:45. Просмотров 347. Ответов 6
Метки нет (Все метки)

Добрый вечер!
Помогите пожалуйста с одной проблемкой!
Я Создала структуру node
Вот он:
C++
1
2
3
4
5
6
7
struct node
{
 char sym[10];
 float pro;
 int arr[20];
 int top;
}s[20];
Еще у меня есть txt файл с которого и должен прога считывать текст и находить вероятность каждых букв в тексте. Отбрасывая одинаковые буквы.
Вот я сделала ее таким образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ifstream in;
ofstream out;
  in.open("1.txt");
 
 int str[1000];
 
  if(!in)cout<<"\n File not found ";
 
while(!in.eof()){
     in>>s;
for(int i=0; str[i]; i++)  
    ch[str[i]]++;
  
}
cout<<"\n Symbol vstre4aetsya:   ";
for(int i=0;i<256;i++){
     total++;
if(ch[i]){
           cout<<"\n    "<<char(i)<<"           "<<ch[i]<<" raz \n ";
           cout<<"\n Veroyatnost'=>    "<<"           "<<ch[i]/total<<" ";
 strcpy(s[i].sym,ch);
}
А теперь у меня выдает одну ошибку:
Вот такого содержания:
1>c:\users\user\documents\visual studio 2008\projects\fnal_tiiiiiiiii\fnal_tiiiiiiiii\shannonfano.cpp(91) : error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'node [20]' (or there is no acceptable conversion)
Что из этого я поняла так это что моя структура не совместима с этим >>
Как исправить ошибку?!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 22:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла (C++):

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?

6
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,283
Записей в блоге: 2
Завершенные тесты: 1
21.11.2011, 22:55 #2
перегрузить >> (если я Вас понял)
1
lp_4eva
Учусь...
59 / 2 / 1
Регистрация: 20.03.2010
Сообщений: 167
21.11.2011, 22:59  [ТС] #3
Цитата Сообщение от Dani Посмотреть сообщение
перегрузить >>
Это как? Я вас не поняла?!
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,283
Записей в блоге: 2
Завершенные тесты: 1
21.11.2011, 23:09 #4
Перегрузка
0
mr.n-drey
41 / 41 / 1
Регистрация: 16.11.2010
Сообщений: 110
21.11.2011, 23:15 #5
так понимаю проблема в этой строчке:
Цитата Сообщение от lp_4eva Посмотреть сообщение
in>>s;
Возможно я неправ, но может быть Вам подойдет вариант типа:
C++
1
2
3
4
5
k = 0;
while(!in.eof()){
     in>>s[k].sym>>s[k].pro>>s[k].arr>>s[k].top;
     k++;
     }
правда неуверен что
C++
1
>>s[k].arr
сработает, скорее всего прийдется так же проходить поэлементам...
1
lp_4eva
Учусь...
59 / 2 / 1
Регистрация: 20.03.2010
Сообщений: 167
21.11.2011, 23:21  [ТС] #6
Цитата Сообщение от mr.n-drey Посмотреть сообщение
правда неуверен что
Код C++1 >>s[k].arr
сработает, скорее всего прийдется так же проходить поэлементам...
Да та же ошибка только вот с s[k].arr
А как это проходить по элементам?
0
mr.n-drey
41 / 41 / 1
Регистрация: 16.11.2010
Сообщений: 110
22.11.2011, 09:49 #7
Вобщем, как то так:
C++
1
2
3
4
5
6
7
8
k = 0;
while(!in.eof()){
     in>>s[k].sym>>s[k].pro;
     for(int i=0;i<20;i++)
       in>>s[k].arr[i];
     in>>s[k].top;
         k++;
         }
0
22.11.2011, 09:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 09:49
Привет! Вот еще темы с ответами:

Чтение из файла - C++
Тут мне на форуме код подогнали. Сижу сейчас переделываю под себя, разбираюсь. Вот в этой части, которая должна читать из файла на самом...

Чтение из файла С++ - C++
Прочитать из txt файла данные, так чтобы пропустить первые 16 и и вывести на экран 3 столбца: Latitude, longitude, depth и затем сохранить...

Чтение из файла - C++
задание: помогите с 3 заданием!!! как можно сделать что бы программа считывала файл auto.txt и распределяла данные по классам, ...

Чтение из файла - C++
формат файла: text, 200 text2, 180 и т.д.... #include &lt;math.h&gt; #include &lt;stdio.h&gt; struct cars {


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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