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

Объясните, пожалуйста, как работает фрагмент кода. Почему при i = 0 вводится лишь 2 строки?

03.12.2018, 16:02. Просмотров 852. Ответов 8
Метки нет (Все метки)

Здравствуйте! Объясните, пожалуйста, как происходит ввод строк в этом фрагменте кода.

C++
1
2
3
4
5
string *text = new string[n];
for (int i = 0; i < n; i++) 
{
    getline(cin, text[i]);
}
Почему при начальном значении i = 0 вводится лишь 2 строки?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2018, 16:02
Ответы с готовыми решениями:

Объясните как работает фрагмент кода
Здравствуйте, объясните что на консоли появится после выполнения этого фрагмента программы. Что...

Объясните фрагмент кода, как работает,можно ли заменить???
sort(X.begin(),X.end()); sort(Y.begin(),Y.end()); Что это и как это работает,можно ли...

Объясните, пожалуйста, фрагмент кода
#define NUMLINES((int)(sizeof devcaps / sizeof devcaps )) struct { int iIndex; char *szLabel;...

Объясните пожалуйста, почему не работает.
:@echo off :2 set /p a = call :1 %a% goto 2 :1 echo value = %1 goto:eof

8
813 / 547 / 256
Регистрация: 26.02.2015
Сообщений: 2,479
03.12.2018, 16:09 2
Какое n введешь, столько и будет строк.
0
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 34
03.12.2018, 16:10  [ТС] 3
Забыл сказать, при n = 3 вводится 2 строки.
0
813 / 547 / 256
Регистрация: 26.02.2015
Сообщений: 2,479
03.12.2018, 16:13 4
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
#include <iostream>
#include <string>
 
int main() {
 
    std::size_t n = 3;
 
    std::string *text = new std::string[n];
    for (int i = 0; i < n; i++)
    {
        std::getline(std::cin, text[i]);
    }
 
    for (std::size_t i = 0; i < n; ++i) {
 
        std::cout << text[i] << '\n';
 
    }
 
    delete[] text;
 
    system("PAUSE");
    return 0;
 
}
Код
I love you!
My mom!
And daddy!
I love you!
My mom!
And daddy!
Для продолжения нажмите любую клавишу . . .
Добавлено через 24 секунды
У меня 3 строки вводится.
0
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 34
03.12.2018, 16:21  [ТС] 5
При такой инициализации n тоже вводит 3. Но, если n вводить с клавиатуры, то почему-то - всего 2.
0
813 / 547 / 256
Регистрация: 26.02.2015
Сообщений: 2,479
03.12.2018, 16:24 6
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
#include <iostream>
#include <string>
 
int main() {
 
    std::size_t n;
 
    std::cout << "Please, enter the value of n: ";
    std::cin >> n;
 
    while (std::cin.get() != '\n');
 
    std::string *text = new std::string[n];
    for (int i = 0; i < n; i++)
    {
        std::getline(std::cin, text[i]);
    }
 
    for (std::size_t i = 0; i < n; ++i) {
 
        std::cout << text[i] << '\n';
 
    }
 
    delete[] text;
 
    system("PAUSE");
    return 0;
 
}
Код
Please, enter the value of n: 3
I love you!
My mom!
And daddy!
I love you!
My mom!
And daddy!
Для продолжения нажмите любую клавишу . . .
0
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 34
03.12.2018, 16:27  [ТС] 7
Цитата Сообщение от Nishen Посмотреть сообщение
while (std::cin.get() != '\n');
Можете пояснить, что делает эта строка, пожалуйста?
0
813 / 547 / 256
Регистрация: 26.02.2015
Сообщений: 2,479
03.12.2018, 16:28 8
Лучший ответ Сообщение было отмечено Lethme как решение

Решение

Распространенные ошибки
0
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 34
03.12.2018, 16:35  [ТС] 9
Понял, спасибо большое.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2018, 16:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Объясните пожалуйста, почему не работает условие!
Начал изучать классы, хочу понять как работать с приватными переменнами! Есть такой вот метод:...

Объясните, пожалуйста, почему не работает строка
Ничего не понимаю... Объясните, пожалуйста, почему не работает строка program 1; var a:...

Объясните пожалуйста почему не работает программа
Во время выполнения программы возникает ошибка. Не могу понять почему. Вот код: #include...

Объясните как работает фрагмент программы
Есть фрагмент программы ↓ _____________________________________________________ Write('razmer...


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

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

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