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

Функция getline в условии while - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание текста из файла и вывод его на экран http://www.cyberforum.ru/cpp-beginners/thread556701.html
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной буквы, на прописную.
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить... Программу написать в двух вариантах: со стандартной обработкой массивов и обработкой с помощью указателей. Размерность массивов задается именованной константой. Предусмотреть тестирование на всех... http://www.cyberforum.ru/cpp-beginners/thread556697.html
C++ тестовые вопросы
Добрый вечер, требуется подсказка по трем вопросам из тестов. 1. Заголовок функции имеет вид: void f( float a, float b, float& c); Укажите правильные варианты вызова функции, если переменные в...
Обработка WM_KEYDOWN и WM_KEYUP в диалоговом окне C++
С толкнулся с проблемой того, что в диалоге требуется обработка клавиатуры! Однако как оказалось диалог их не ловит! Есть ли способ как нибудь решить эту проблему?
C++ Помогите пожалуйста!!! перевести на Си http://www.cyberforum.ru/cpp-beginners/thread556681.html
Program ciklp_6; uses crt; var i,n,k,s : longint; b : integer; begin
C++ Friend класса #include <iostream> class assoc { struct pair { char* name; int val; }; int free; подробнее

Показать сообщение отдельно
Stror
1 / 1 / 0
Регистрация: 23.04.2012
Сообщений: 10

Функция getline в условии while - C++

23.04.2012, 21:45. Просмотров 2023. Ответов 5
Метки (Все метки)

Здравствуйте! Перевожу код с c++ на c#. Но возникла проблема с условием цикла while

C++
1
2
while(getline(cin,S))
{...}
Почитал в интернетах про getline, написано, что считывает с определенными особенностями строку. Но здесь эта функция записана в условии цикла, как она может быть условием, вот это не могу понять.
Прошу вашей помощи.


полный код в c++:

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
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
 
string S;
long long D[37],l,maxi=0,idx,base;
bool ok;
 
int convert( char C ){
    if(C==' ') return 10000;
    else
    if(C<='9') return (int)(C-48)%10;
    else return (int)(C-55);
    }
 
int main(int argc, char *argv[])
{
 
    while(getline(cin,S)){
     idx=2;
     while(idx<37){
       l=0;
      while( l<S.length()){
          ok=false;
       while(l<S.length()&&(int)(convert(S[l]))<idx){ok=true; l++;}
           if(ok) D[idx]++;
           l++;
         }
         idx++;
    }
 
}
 for( int i=2;i<=36;i++ )
  if(D[i]>maxi){maxi=D[i];base=i;}
 
    cout<<base<<" "<<maxi<<endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru