Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Annamaria
1 / 1 / 0
Регистрация: 21.03.2012
Сообщений: 15
1

Прокомментировать код

16.05.2012, 16:26. Просмотров 890. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
ifstream in ("input.txt");
ifstream kin ("input.txt");
ofstream out ("output.txt");
struct vedom {
       string m, n, f;
       int y, run;
};
 
int main () {
    string s;
    int kol = 0;
    while (getline(kin, s)) 
        kol++;
    kin.close();
    vedom *arr = new vedom [kol];
    for (int i = 0; i < kol; i++)
        in >> arr[i].m >> arr[i].n >> arr[i].f >> arr[i].y >> arr[i].run;
    cout << "Vvedite probeg = ";
    int pr;
    cin >> pr;
    for (int i = 0; i < kol; i++)
        if (arr[i].run < pr)
            out << arr[i].m << " " << arr[i].n << " " << arr[i].f << " " << arr[i].y << " " << arr[i].run << " " << endl;
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 16:26
Ответы с готовыми решениями:

Прокомментировать код
Задание : С клавиатуры вводиться строка символов (не более 10). Опередить...

Прокомментировать код
Как это работает? #include &lt;QDebug&gt; int main() { int mass; ...

Прокомментировать код
Здравствуйте! Пожалуйста, как можно яснее откомментируйте коды программ, очень...

Прокомментировать код
что как и для чего typedef struct{ char name; citizen_t **childs; int...

Прокомментировать код
нужно описать что делают строки готовой программы #include &lt;iostream&gt;...

5
defer
558 / 238 / 16
Регистрация: 29.11.2010
Сообщений: 800
16.05.2012, 16:52 2
что именно не понятно?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
16.05.2012, 17:17 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Annamaria Посмотреть сообщение
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
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
ifstream in ("input.txt"); // создаем поток вывода в файл input.txt
ifstream kin ("input.txt");
ofstream out ("output.txt"); // создаем поток считывания с файла output.txt
struct vedom { // объявляем структуру vedom с полями:
       string m, n, f; // 3 поля типа std::string
       int y, run; // 2 целочисленные переменные
};
 
int main () {
    string s;
    int kol = 0;
    while (getline(kin, s)) // когда считываем строчку с потока kin в перменную s
        kol++;
    kin.close(); // закрываем поток в файл
    vedom *arr = new vedom [kol]; // выделяем память под массив структурных переменных vedom
    for (int i = 0; i < kol; i++) // в цикле от 0 до kol
        in >> arr[i].m >> arr[i].n >> arr[i].f >> arr[i].y >> arr[i].run; // заполняем поля структуры, считывая их из файла
    cout << "Vvedite probeg = ";
    int pr;
    cin >> pr;
    for (int i = 0; i < kol; i++)
        if (arr[i].run < pr) // если пробег меньше заданного
            out << arr[i].m << " " << arr[i].n << " " << arr[i].f << " " << arr[i].y << " " << arr[i].run << " " << endl; // записываем структурную переменную в файл, разделяя поля пробелами
    return 0;
}
надо бы память еще освободить и потоки закрыть
C++
1
2
delete []arr;
in.close(); out.close()
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.05.2012, 17:22 4
Цитата Сообщение от MrGluck Посмотреть сообщение
потоки закрыть
А RAII тогда зачем нужна?
fstream файлы в деструкторе закрывает
1
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
16.05.2012, 17:33 5
Цитата Сообщение от diagon Посмотреть сообщение
А RAII тогда зачем нужна?
fstream файлы в деструкторе закрывает
Т.е. положиться на систему? По-моему, это лучше сделать явно. Также, как и писать delete, учитывая, что после return-a память сама освобождается.
Что плохого в том, чтобы перестраховаться?
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.05.2012, 17:46 6
Цитата Сообщение от MrGluck Посмотреть сообщение
Т.е. положиться на систему?
Причем здесь система-то.
fstream закрывает файл в своем деструкторе, который вызывается при выходе из области видимости(в данном случае в конце main'a).
Это реализует идиому RAII, которая снимает с программиста геморрой по освобождению ресурсов.
0
16.05.2012, 17:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 17:46

Прокомментировать код
Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю...

Прокомментировать код
Код писал не я, мне бы разобраться что значит та или иная строка. Буду очень...

Прокомментировать код
что означают строчки начиная с int k =-1; #include &quot;iostream&quot; #include...


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

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

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