Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272

Есть ли ошибка?

07.11.2011, 23:08. Показов 832. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
сам класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class stud_file
{
map <string, list<string> > data;
 
public:
    
    stud_file (string s)
    {
        ifstream FS; //Fs(s) ?
        FS.open(s);
        string Fam, pred;
        while(!FS.eof())
        {
            FS >> Fam;
            FS >> pred;
            data[pred].push_back(Fam);
        }
                      FS.close();
    }
 
 
};
Обращение
C++
1
    stud_file Stud("file.txt");
При запуске утекает память)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2011, 23:08
Ответы с готовыми решениями:

Есть задача. Есть решение. Но возникает ошибка. Почему?
Написать функцию print_and_count_even(some_integers), которая принимает на вход список целых чисел some_integers, печатает в столбик по...

есть код и есть ошибка нужно найти дырку
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main(int argc, char *argv) { int i,size,n; ...

есть ошибка???
Дан одномерный массив. Найдите номер последнего массива, меньшего 3.Пожалуйста помогите!!! Очень нужно!!!! это правильно будет??? Если...

12
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 23:15
Цитата Сообщение от IcyWind Посмотреть сообщение
При запуске утекает память)
если вы сами нигде явно память не выделяете (с помощью оператора new), то утечки быть не может, деструкторы map, fstream, string, etc. обо всем позаботятся
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
07.11.2011, 23:20  [ТС]
запускаю программу
открываю диспетчер задач
нахожу процесс с именем программы
и за 3-5 секунд он уже жрёт 500мб оперативки)
в текстовом файле - 4 строчки)
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
07.11.2011, 23:28
Давайте сюда весь код.
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
07.11.2011, 23:29  [ТС]
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <list>
#include <map>
using namespace std;
 
/*
математику mas[0]
физику       mas[1]
биологию   mas[2]
химию      mas[3]
*/
 
class stud_file
{
map <string, list<string> > data;
 
public:
    
    stud_file (string s)
    {
        ifstream FS; //Fs(s) ?
        FS.open(s);
        string Fam, pred;
        while(!FS.eof())
        {
            FS >> Fam;
            FS >> pred;
            data[pred].push_back(Fam);
        }
        FS.close();
    }
 
 
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "Rus");
    const int n = 4;
    int mas[n] = {0,0,0,0};
 
    stud_file Stud("file.txt"); //тут виснит
 
    cout<<"†††††††††††††††††††††††††††††††††††††††††††††\n";
    cout<<"Установите нужные параметры поиска\n";
    int con = 0;
    while (con !=-1)
    {
        cout<<"†††††††††††††††††††††††††††††††††††††††††††††\n";
        cout<<"математика     => 0\n";
        cout<<"физика         => 1\n";
        cout<<"биология       => 2\n";
        cout<<"химия          => 3\n";
        cout<<"текущий выбор  => 101\n";
        cout<<"вывести список => 102\n";
        cout<<"Выйти          => -1\n";
        cin >> con;
 
        switch (con)
        {
        case 0:
        case 1:
        case 2:
        case 3:
            {
                cout<<"изучает   =>1\n";
                cout<<"неважно   =>0\n";
                cout<<"неизучает =>-1\n";
                int i;
                cin>>i;
                mas[con] = i;
                break;
            }
        case 101:
            {
                for_each(&mas[0], &mas[n], [](int x){cout<<x<<' ';});
                cout<<"\n";
            }
        }
    }
    return 0;
}
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 23:34
C++
1
 FS.open(s.c_str());
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
07.11.2011, 23:36  [ТС]
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
C++
1
 FS.open(s.c_str());
не могли бы пояснить, что это за метод и почему мой вариант - неправильный
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 23:42
Цитата Сообщение от IcyWind Посмотреть сообщение
не могли бы пояснить, что это за метод и почему мой вариант - неправильный
конструктор std::ifstream принимает char *
в std::string есть метод c_str() который и возвращает строку в стиле Си, т.е. char *
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
07.11.2011, 23:44  [ТС]
не помогло...исправил тип в конструкторе
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <list>
#include <map>
using namespace std;
 
/*
математику mas[0]
физику       mas[1]
биологию   mas[2]
химию      mas[3]
*/
 
class stud_file
{
map <string, list<string> > data;
 
public:
    
    stud_file (char *s)
    {
        ifstream FS; //Fs(s) ?
        FS.open(s);
        string Fam, pred;
        while(!FS.eof())
        {
            FS >> Fam;
            FS >> pred;
            data[pred].push_back(Fam);
        }
        FS.close();
    }
 
 
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "Rus");
    const int n = 4;
    int mas[n] = {0,0,0,0};
 
    stud_file Stud("file.txt");
 
    cout<<"†††††††††††††††††††††††††††††††††††††††††††††\n";
    cout<<"Установите нужные параметры поиска\n";
    int con = 0;
    while (con !=-1)
    {
        cout<<"†††††††††††††††††††††††††††††††††††††††††††††\n";
        cout<<"математика     => 0\n";
        cout<<"физика         => 1\n";
        cout<<"биология       => 2\n";
        cout<<"химия          => 3\n";
        cout<<"текущий выбор  => 101\n";
        cout<<"вывести список => 102\n";
        cout<<"Выйти          => -1\n";
        cin >> con;
 
        switch (con)
        {
        case 0:
        case 1:
        case 2:
        case 3:
            {
                cout<<"изучает   =>1\n";
                cout<<"неважно   =>0\n";
                cout<<"неизучает =>-1\n";
                int i;
                cin>>i;
                mas[con] = i;
                break;
            }
        case 101:
            {
                for_each(&mas[0], &mas[n], [](int x){cout<<x<<' ';});
                cout<<"\n";
            }
        }
    }
    return 0;
}
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 23:52
Цитата Сообщение от IcyWind Посмотреть сообщение
не помогло...исправил тип в конструкторе
добавьте условие на проверку открытия файла
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
07.11.2011, 23:54  [ТС]
эээ с файлами - беда...вообще не знаком с ними
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
08.11.2011, 00:03
Цитата Сообщение от IcyWind Посмотреть сообщение
эээ с файлами - беда...вообще не знаком с ними
попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
if (FS.is_open()) {
    string Fam, pred;
    while(!FS.eof())
    {
        FS >> Fam;
        FS >> pred;
        data[pred].push_back(Fam);
    }
    FS.close();
}
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
08.11.2011, 00:18  [ТС]
Вроде он пропустил...хм...значит - не открыт, зараза

Добавлено через 7 минут
ой блин, сори...я не в тот проект файл закидывал...

Добавлено через 1 минуту
Кстати, вернул стринг обратно на место char *. работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2011, 00:18
Помогаю со студенческими работами здесь

Есть последовательность X1, ., X50. Узнать, есть ли среди них нулевые элементы, и если есть, то сколько
Есть последовательность X1, ..., X50. Узнать, есть ли среди них нулевые элементы, и если есть, то сколько.(масив)

есть ли ошибка в программе?
задание Дано натуральное число, найти сумму его делителей. Вывести все делители и их сумму на печать. начинается ли ряд чисел с 1( в...

Тут есть Ошибка?
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { ...

Есть ли ошибка в коде
На хостинге обнаружили вирус и сообщили о таком зараженном файле: index.php: {HEX}php.cmdshell.cih.225.UNOFFICIAL FOUND. Ниже код файла....

Есть здесь ошибка?
&lt;img src=&quot;&lt;?php bloginfo('template_directory'); ?&gt;/timthumb.php?src=&lt;?php echo $postimageurl; ?&gt; Когда убираю апострафы...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru