Форум программистов, компьютерный форум CyberForum.ru

while(!endOfLine) - C++

Восстановить пароль Регистрация
 
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
14.10.2012, 19:20     while(!endOfLine) #1
Можете помочь с элементарным заданием.
Вот как считать с консоли строку. То есть cin >> a, пока не закончится строка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.10.2012, 19:28     while(!endOfLine) #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main(){
    
    char str[255];
    cin.getline(str, 255);
    cout << str;
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.10.2012, 19:30     while(!endOfLine) #3
если нужно считать одну строку целиком, то можно так:
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <string>
using namespace std;
int main(void) {    
    string line;
    getline(cin, line);
    return 0;
}
если нужно считывать строки до конца файла, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
using namespace std;
int main(void) {    
    string line;
    while (getline(cin, line))
    {
        .....
    }
    return 0;
}
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
15.10.2012, 19:27  [ТС]     while(!endOfLine) #4
valeriikozlov, а можно как-то сразу инты вчитывать?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.10.2012, 19:39     while(!endOfLine) #5
Цитата Сообщение от Ann Joker Посмотреть сообщение
а можно как-то сразу инты вчитывать?
можно. Если нужно считать все инты которые будут во входном потоке (могу только догадаться: наверное это Вам нужно для решения олимпиадных задач), то можно так:
C++
1
2
3
4
5
6
#include <iostream>
int n;
while (std::cin >> n)
{
   ...
}
или так:
C++
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int n;
while (cin >> n)
{
   ...
}
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
15.10.2012, 20:02  [ТС]     while(!endOfLine) #6
valeriikozlov, догадались, для олимпиадных.

а вот, если массив. мы хотим считывать числа, пока не закончится строка. или пока не нажмем Enter. если сделать так, то он не остановит.
C++
1
2
3
4
5
6
7
    int a[100000], n = 0;
    while(cin >> a[n]){
        n++;
    }
    for (int i = 0; i < n; i ++)
        cout << a[i];
    return 0;
скорее всего, сайт примет такой вариант, но вот как протестить самому.
огромное спасибо, что помогаете!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.10.2012, 05:59     while(!endOfLine) #7
Цитата Сообщение от Ann Joker Посмотреть сообщение
скорее всего, сайт примет такой вариант, но вот как протестить самому
используйте для тестов файлы: входной (там Ваш написанный тест) и выходной (там смотрите результаты), хотя выходной файл необязателен, можно вывод и в консоль делать.
Yandex
Объявления
16.10.2012, 05:59     while(!endOfLine)
Ответ Создать тему
Опции темы

Текущее время: 03:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru