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

объяснить что делает код

06.09.2018, 17:42. Показов 840. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код выполняет следующее
1. пользователь должен указать какой файл открыть для разбиения
2. пользователь указывает на какое количесвто частей разбить файл
3. в каждой из разбитых частей должно быть одинаковое количесвто строк , если не делится на равные части , то в последний записать остаток строк .
Вопрос-что здесь происходит пошагово описать, пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (int j = 0; j < numStr; j++)
        {
            fout << lines[j + numStr*i] << endl;//здесь 
            if (parts - 1 == i)
            {
                int left = lines.size()%parts;
                if (j + 1 == numStr)
                {
                    for (int k = 1; k <= left; k++)
                    {
                        fout << lines[j + numStr*i + k] << endl;
                    }
                }
            }
        }
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
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
int main()
{
    ifstream fin;
    vector<string> lines;
    int parts;
    bool correct = true;
 
    do
    {
        string path;
 
        cout << "Enter the path to the file: ";
        cin >> path;
 
        fin.open(path);
 
        if(!fin.is_open())
        {
            cout << "Wrong path to the file." << endl;
            correct = false;
        }
        else
        {
            correct = true;
        }
    } while (!correct);
 
    for (string line; getline(fin, line); lines.push_back(line)){}
 
    cout << "Enter the number of parts: ";
    cin >> parts;
 
    int numStr = lines.size()/parts;
 
    for (int i = 0; i < parts; i++)
    {
        ofstream fout;
        string filename = to_string(i + 1) + " part.txt";
 
        fout.open(filename);
 
        for (int j = 0; j < numStr; j++)
        {
            fout << lines[j + numStr*i] << endl;//здесь 
            if (parts - 1 == i)
            {
                int left = lines.size()%parts;
                if (j + 1 == numStr)
                {
                    for (int k = 1; k <= left; k++)
                    {
                        fout << lines[j + numStr*i + k] << endl;
                    }
                }
            }
        }
 
        fout.close();
    }
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.09.2018, 17:42
Ответы с готовыми решениями:

Исправить код, объяснить, что он делает
#include &lt;iostream&gt; /* run this program using the console pauser or add your own getch, system(&quot;pause&quot;) or input loop */ using...

Можете объяснить что делает этот код?
#include &lt;iostream&gt; using namespace std; int main() { char s; cin&gt;&gt;s; for(int i=0;i&lt;5;i++) s=s...

Объяснить, что делает функция, подробно
cin.rdbuf()-&gt;in_avail() Добавлено через 19 секунд И что такое rdbuf

5
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
06.09.2018, 17:55
Цитата Сообщение от Maxon13 Посмотреть сообщение
fout << lines[j + numStr*i] << endl;//здесь
это есть запись в файл, в квадратных скобках рассчитывается номер строки в векторе который будет отправлен в файл.
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.09.2018, 18:18
этот код будет у тебя запрашивать имя файла до тех пор, пока ты не введёшь имя файла, который программа сможет открыть.
----
А дальше... пусть кто-нить другой допишет, у меня пельмени убегут щас!
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
06.09.2018, 19:41
Добавлено через 54 секунды

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
у меня пельмени убегут щас!
Догнал ?

0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.09.2018, 19:45
Цитата Сообщение от Manowar Посмотреть сообщение
Догнал ?
Ага. Убил и сожрал.
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
06.09.2018, 20:20
Цитата Сообщение от Verevkin Посмотреть сообщение
Ага. Убил и сожрал.
И правильно, не фиг на всякую фигню отвлекаться.
Не, ну читаю название темы
Цитата Сообщение от Maxon13 Посмотреть сообщение
объяснить что делает код
Первая же строчка
Цитата Сообщение от Maxon13 Посмотреть сообщение
Код выполняет следующее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2018, 20:20
Помогаю со студенческими работами здесь

Объяснить, что делает std::lock_guard ?
привет. Я правильно понял, что объект std::lock_guard, примененный к мьютексу в блоке кода, при выходе из этого блока разблокирует этот...

Объяснить, что делает каждый цикл в программе
Объясните пожалуйста что делает каждый цикл for (i = 0; i &lt; n; i++) cout &lt;&lt; a &lt;&lt; &quot; &quot;;//выводим последовательность cout &lt;&lt;...

Объяснить, что делает операция *& и чем она отличается от простого указателя?
Пожалуйста объясните что делает этот оператор...чем он отличается от простого указателя?

Что делает код?
Есть строка кода struct sockaddr_in ssin; Если она находится в методе мейн то что она делает? Я не спрашиваю что делает сама...

Что делает код?
цитата из переведённой книги Александреску по языку D: &quot;Если кто-то из ваших коллег прокачал самоуверенность до уровня Супермена, ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru