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

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

Войти
Регистрация
Восстановить пароль
 
romasimeiz
6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 260
#1

Запись данных и проверка в контейнере list - C++

02.04.2014, 13:36. Просмотров 377. Ответов 8
Метки нет (Все метки)

Добрый день!
Пытаюсь создать просто приложение на c++ в Win32 Application.
У меня есть несколько функций :
- первая должна проверять контейнер list на количество элементов меньше M (M=5).
- вторая должна считывать данные из *.txt файла и записывать их в лист используя :
C++
1
#include <fstream>
.

Функции и переменные объявил в header файле таким образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef int elem;
    typedef vector<elem> cont;
    typedef cont::const_iterator it;
   
    typedef short list_elem;
    typedef list<list_elem> MyList;
    typedef MyList::iterator iter;
 
    void Input( cont& c, int N, elem mn, elem mx );
    elem Process(MyList& listik, elem M );
    MyList FromFileToList (MyList& listik);
    extern elem Result;
    void PrintResults( HDC wdc, HWND wnd );
В файле *.cpp написал те самые две функции:

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
elem Process(MyList& listik, elem M )
{
    elem sum = 0;
    for( iter i = listik.begin(), e = listik.end(); i != e; ++i )
    {
        if( *i <= M )
            continue;
        sum += 1;
 
    }
 
    return sum;
}
 
elem Result = 0;
 
MyList FromFileToList (MyList& listik)
{    
    ifstream MyFile;
    MyFile.open("chisla.txt");
    while (MyFile.good())
    {
        getline(MyFile,listik);
    }
    return listik;
}
Вопрос 1 Функция FromFileToList не работает, потому что я неправильно пытаюсь записать туда данные. В текстовом файле находятся числа и сам list использует тип short. Как правильно записывать каждую строчку из файла?
Вопрос 2 Мой лист MyList должен использоваться один и тот же в обоих функциях. Т.е. когда я считал в него все числа из файла FromFileToList, он должен быть с теми же числами в функции проверки Process.
Правильно ли я передаю значения в функцию? Или функции будут работать с разными листами?

Простите за глупые вопросы, пытаюсь программировать второй день. Буду признателен за помощь! )
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 13:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись данных и проверка в контейнере list (C++):

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

std::list - преобразование типов в контейнере - C++
Здравствуйте. Суть проблемы попробую передать в коде class A { }; class B : public A { public: B (int) {/*...*/}...

Тип значения в контейнере map - контейнер list - C++
Возможно ли использовать следующий код: struct p { int id; }; int main() { map&lt;string, list&lt;p&gt; &gt; m;

Хранение в контейнере deque целых чисел и проверка основных операций - C++
Написала код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;deque&gt; using namespace std; void show (const char *str,...

Проверка скорости работы своего list - C++
Можете написать какую нибудь проверку скорости работы list (без algorithm). Создал свой вариант, вроде работает и быстро, и не могли бы...

Запись в файл txt построчно из <list> - C++
# include &lt;iostream&gt; # include &lt;list&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;cstdio&gt; using namespace std; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 13:51 #2
Цитата Сообщение от romasimeiz Посмотреть сообщение
FromFileToList
из ф-ции лист возвращать не надо, потому что Вы модифицируете входной параметр(входной лист)
в ф-ции мейн Вы создадите лист, его передадите в ф-цию. FromFileToList, он модицифируется
его же передадите в ф-цию Process да это будет один и тот же лист
1
romasimeiz
6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 14:05  [ТС] #3
спасибо! )
а как правильно добавлять считанные данные в лист?
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 15:36 #4
эм....push_back() ?
0
romasimeiz
6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:01  [ТС] #5
например?
простите второй день пытаюсь программировать на c++.
Дело в том, что list типа short а из файла всё читается в формате string.
Писать в list нужно сначала через переменную, которую затем конвертировать в short или как ?
Заранее спасибо! )
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 16:14 #6
C++
1
2
3
4
5
6
7
8
9
10
11
void FromFileToList (MyList& listik)
{    
    ifstream MyFile;
    MyFile.open("chisla.txt");
    short value = 0;
    while (!MyFile.eof)
    {
        //getline(MyFile,...);
        listik.push_back(value);
    }
}
насчет того как читать и переводить не подскажу, ибо сам в этом не смыслю
1
romasimeiz
6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:19  [ТС] #7
Большое спасибо )
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
02.04.2014, 16:25 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
void FromFileToList (MyList& listik)
{    
    ifstream MyFile;
    MyFile.open("1.txt");
    short Value = 0;
    while(!MyFile.eof())
    {
    MyFile>>Value;
    listik.push_back(Value);
     }
}
числа в файле
1
5
2
1
5
6
таким образом
1
romasimeiz
6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:28  [ТС] #9
огромное спасибо )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 16:28
Привет! Вот еще темы с ответами:

Ввод данных в List - C++
Добрый день! Только начал пытаться писать на c++. У меня есть простая задача ввода, обработки данных. У меня есть функция в которой я...

Циклическое отображение данных класса List - C++
Весь класс List написан,в соответствии с заданием,но ступор на создании циклического отображения данных... помогите,как...

Сохранение данных пользовательского типа в list из stl - C++
Здравствуйте. Пишу программу реализации списка. #include &lt;iostream&gt; #include &lt;iterator&gt; #include &lt;string&gt; #include &lt;list&gt; using...

Ошибка при компиляции undefined reference to `List<int>::List()'| - C++
Доброго времени суток=) столкнулась с такой проблемой нужно написать шаблон класса. При компиляции выдает ошибку undefined reference to...


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

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

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