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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lev93
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
#1

не понимаю код - C++

02.03.2013, 00:31. Просмотров 342. Ответов 7
Метки нет (Все метки)

прокоментируйте пожалуйста код, я совсем не понимаю что здесь написано или переправьте на более простой

само условие: "Задан текст. найти все слова, которые начинаются и заканчиваются одной и той же буквой."

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
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main()
{
    string text; 
    string word;
    stringstream s;
    
    getline(cin, text);
    
    s << text;
    
    do
    {
        s >> word;
        if (word[0] == word[word.size() - 1]) cout << word << endl;
    } while (!s.eof());
    
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 00:31     не понимаю код
Посмотрите здесь:

не совсем понимаю код *указатели - C++
изучаю указатели, столкнулся с кодом не совсем могу понять что происходит в функции *g_s, особенно это условие *p2 &amp;&amp; *p2 == *p ...

Не понимаю, как работает код? - C++
int main(int argc, char** argv) //кол-во аргументов, указатель на массив указателей на сами аргументы. { setlocale( LC_ALL ,...

Слишком сложный код программы, ничего не понимаю( - C++
Я искал код по этому заданию: &quot;Имеется картографическая информация, представляющая собой серии пар целых чисел. Диапазон величин этих...

Хочу разбить код на функции, но ничего в них не понимаю - C++
Задача: написать ввод и вывод в отдельных функциях. #include &lt;iostream&gt; using namespace std; int main() { int a; ...

Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. - C++
#pragma once namespace Casper { class Cat { private: unsigned int age; float weight;

Не Понимаю С++ - C++
есть какие нибудь проги которые обясняют как раскладывать задачку(пример) написания в С++

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.03.2013, 00:42     не понимаю код #2
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
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main()
{
    string text; // строка для текста
    string word; // строка для слова
    stringstream s; // строковый поток
    
    getline(cin, text); // вводим текст с клавиатуры
    
    s << text; // помещаем текст в строковый поток
    
    do // цикл чтения из потока, пока не достигнут конец потока
    {
        s >> word; // читаем текст из потока по слову
        if (word[0] == word[word.size() - 1]) cout << word << endl; // если первая и последняя буквы слова равны, то выводим слово
    } while (!s.eof()); 
    
    system("pause");
    return 0;
}
Lev93
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
02.03.2013, 00:47  [ТС]     не понимаю код #3
а что такое while (!s.eof());
и как это будет выглядеть в борланде (у нас в институте требуют писать только на борланде )
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
02.03.2013, 00:50     не понимаю код #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>
#include <sstream>
using namespace std;
 
int main()
{
    string text; 
    string word;
    stringstream s;
    
    getline(cin, text); //Вводим строку
    
    s << text; //записываем в stringstream для удобства
    
    do
    {
        s >> word; //для чего - то перезаписываем исходную строку в др. переменную
        if (word[0] == word[word.size() - 1]) cout << word << endl; //т.к. любая строка это массив значит к нему    
// можно обращаться по индексам, сравнивается 1 буква строки с последней word[0] == word[word.size() - 1] и 
//  если они одинаковы выводят на экран это слово cout << word << endl;
    } while (!s.eof()); //условие цикла выполнять до тех пор пока не закончится поток(строка со словами)   
    system("pause"); // приостановка приложения чтобы увидеть результат
    return 0;
}
Добавлено через 1 минуту
пока писал уже кто то ответил ))
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
02.03.2013, 00:51     не понимаю код #5
Чтобы лучше понять этот код, пробеги по книге с STL
У павловской есть хорошие примеры, там будет и про строки и про потоки...
они все в пространстве std::
C++
1
2
3
std::string;
std::stringstream;
std::fstream; // и тд..
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.03.2013, 01:20     не понимаю код #6
Цитата Сообщение от Lev93 Посмотреть сообщение
а что такое while (!s.eof());
Проверка на конец потока (что в потоке больше нечего читать).

Добавлено через 27 секунд
Цитата Сообщение от Lev93 Посмотреть сообщение
и как это будет выглядеть в борланде
Понятия не имею.

Добавлено через 18 минут
Можно упростить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string word; // строка для слова
    cout << "Enter the string\n";
    do // цикл чтения по слову до конца строки
    {
       cin >> word; // читаем слово
       if (word[0] == word[word.size() - 1]) cout << word << endl; // если первая и последняя буквы слова равны, то выводим слово
    } while (cin.peek() != '\n'); 
 
    system("pause");
    return 0;
}
Lev93
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
02.03.2013, 01:55  [ТС]     не понимаю код #7
спасибо ребята!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2013, 11:03     не понимаю код
Еще ссылки по теме:

С++ не понимаю - C++
1. сумму элементов массива с нечетными номерами; 2. сумму элементов массива, расположенных между первым и последним отрицательными...

Не понимаю вызовы - C++
Абсолютно не понимаю вызовы. Учусь по книге Страуструпа. ... void print_square(int v); { cout&lt;&lt;v&lt;&lt;'\t'&lt;&lt;v*v&lt;&lt;endl; } int...

isdigit() не понимаю - C++
Здрасти всем! Не могу понять, почему isdigit() неверно себя ведет. Точнее абсолютно наоборот. #include &lt;iostream&gt; const int...

чуть не понимаю.. - C++
1. Управление автомобилем. 2. Поездка на автомобиле. 3. Повреждение автомобиля. 4. Выбор автомобиля для покупки. 5. Диагностика...


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

Или воспользуйтесь поиском по форуму:
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
02.03.2013, 11:03     не понимаю код #8
Цитата Сообщение от Lev93 Посмотреть сообщение
спасибо ребята!
Тут принято кнопоку жать +1, а это сообщение удалят модераторы
Yandex
Объявления
02.03.2013, 11:03     не понимаю код
Ответ Создать тему
Опции темы

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