Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260

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

02.04.2014, 13:36. Показов 3785. Ответов 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)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2014, 13:36
Ответы с готовыми решениями:

Дескриптор HANDLE в контейнере List
Здравствуйте, подскажите, пожалуйста, возможно ли использовать HANDLE из контейнера list? Если да, то как это можно реализовать? ...

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

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

8
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
02.04.2014, 13:51
Цитата Сообщение от romasimeiz Посмотреть сообщение
FromFileToList
из ф-ции лист возвращать не надо, потому что Вы модифицируете входной параметр(входной лист)
в ф-ции мейн Вы создадите лист, его передадите в ф-цию. FromFileToList, он модицифируется
его же передадите в ф-цию Process да это будет один и тот же лист
1
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 14:05  [ТС]
спасибо! )
а как правильно добавлять считанные данные в лист?
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
02.04.2014, 15:36
эм....push_back() ?
0
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:01  [ТС]
например?
простите второй день пытаюсь программировать на c++.
Дело в том, что list типа short а из файла всё читается в формате string.
Писать в list нужно сначала через переменную, которую затем конвертировать в short или как ?
Заранее спасибо! )
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
02.04.2014, 16:14
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
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:19  [ТС]
Большое спасибо )
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
02.04.2014, 16:25
Лучший ответ Сообщение было отмечено romasimeiz как решение

Решение

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
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
02.04.2014, 16:28  [ТС]
огромное спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2014, 16:28
Помогаю со студенческими работами здесь

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

Быстрая запись из List в базу данных
Добрый день! На работе решили изобрести велосипед, я сделал, но он получился медленный. Суть дела: Предприятие решило запустить...

List<string> запись данных через запятую и определенное количество
Как записать динамические данные с сервера в List&lt;string&gt; через запятую и по 50-100 штук? Например чтоб в консоль выводило...

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

Проверка и запись данных в файл в конкретном месте
Вопрос таков. есть файл 123.conf ++++++++++ MaxUsers= users= ++++++++++ users= вторая строка


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru