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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
m09
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 20
#1

Разработать алгоритм и программу для решения задачи с использованием строк символов - C++

01.05.2013, 19:01. Просмотров 1112. Ответов 29
Метки нет (Все метки)

Дана строка символов. Найти самое длинное слово, начинающееся с буквы ''я'', и вывести его в обратном порядке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2013, 19:01     Разработать алгоритм и программу для решения задачи с использованием строк символов
Посмотрите здесь:
Разработать алгоритм и программу для решения задачи с использованием строк символов C++
C++ Разработать алгоритм и программу для решения задачи с использованием типа запись
Разработать алгоритм и программу для решения задачи C++
C++ Разработать блок-схему и программу для решения задачи с использованием типа структура
C++ Разработать программу для решения задачи из нижеприведенных положений теории чисел
Составить универсальную программу для решения математической задачи используя разветвляющий алгоритм C++
Разработать алгоритм решения задачи обработки одномерного массива. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
02.05.2013, 15:21     Разработать алгоритм и программу для решения задачи с использованием строк символов #21
косяк с пустой строкой и со строкой без слов.
Миниатюры
Разработать алгоритм и программу для решения задачи с использованием строк символов  
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
02.05.2013, 15:35     Разработать алгоритм и программу для решения задачи с использованием строк символов #22
m09, всё намного проще. Для такой задачи тут слишком много сообщений
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
#include <iostream>
#include <algorithm>
#include <map>
#include <string>
 
using namespace std;
 
int main(){
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
    map <int, string> s;
    string str;
    while (cin >> str) {
        s[str.length()] = str;
    }
    map <int, string>::iterator it = s.end();
    if (it == s.begin())
        return 0;
    do {
        --it;
        if ((it->second)[0] == 'z') {
            str = it->second;
            reverse(str.begin(), str.end());
            cout << str;
            return 0;
        }
    } while (it != s.begin());
    return 0;
}
Добавлено через 2 минуты
m09, пример ввода в input.txt
a a a aaa a zaz za aaaaaa gfasfasfz zaa gzgzgzg zaaaf
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
02.05.2013, 21:26     Разработать алгоритм и программу для решения задачи с использованием строк символов #23
BumerangSP, извините что так долго, дела были учел вариант пустой строки и строки без слов

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
68
69
70
71
72
73
74
#include <iostream>
#include <iterator>
#include <string>
#include <sstream>
#include <Windows.h>
using namespace std;
 
void find_word(string _str){
    string delim(" .,!?");
 
    if(_str.size() != 0){
        string::size_type pos_m, pos_m2, pos1, pos2;;
        pos_m = _str.find_first_not_of(delim);
 
        if(pos_m != string::npos){
            pos_m2 = _str.find_first_of(delim, pos_m);
            if(pos_m2 == string::npos && _str[pos_m] == 'я'){
                pos1 = string::npos;
                pos_m2 = _str.length();
            }
            else if(pos_m2 == string::npos && _str[pos_m] != 'я'){
                pos_m2 = string::npos;
                pos1 = string::npos;
            }
            else if(pos_m2 != string::npos && _str[pos_m] != 'я'){
                pos1 = pos_m2;
                pos_m = pos_m2 = 0;
            }
            else
                pos1 = pos_m2;
 
            while(pos1 != string::npos){
                pos1 = _str.find_first_not_of(delim, pos1);
 
                if(pos1 != string::npos){
                    pos2 = _str.find_first_of(delim, pos1);
                    if(pos2 == string::npos)
                        pos2 = _str.length();
        
                    if(_str[pos1] == 'я'){
                        if((pos2 - pos1) > (pos_m2 - pos_m)){
                            pos_m = pos1;
                            pos_m2 = pos2;
                        }
                    }
 
                    if(pos2 == _str.length())
                        pos1 = string::npos;
                    else
                        pos1 = pos2;
                }
            }
 
            cout << endl;
            if(pos_m2 != string::npos){
                for(int i = pos_m2 - 1; i >= static_cast<int>(pos_m); i--)
                    cout << _str[i];
            }
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string str("");
    copy(str.begin(), str.end(), ostream_iterator<char>(cout));
    find_word(str);
 
    cout << "\n\n";
    return 0;
}
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
03.05.2013, 13:55     Разработать алгоритм и программу для решения задачи с использованием строк символов #24
yoghurt92, да ничего. Пока ошибок не найдено.
m09
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 20
14.05.2013, 19:10  [ТС]     Разработать алгоритм и программу для решения задачи с использованием строк символов #25
ludi a pokoroche nel'zya ee napisat'??? pochemu to eta programka owibku vydaet
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
14.05.2013, 19:23     Разработать алгоритм и программу для решения задачи с использованием строк символов #26
m09, я вам написал достаточно коротко, вам осталось только подключить русский setlocate

Добавлено через 30 секунд
Цитата Сообщение от Ternsip Посмотреть сообщение
'z'
и вот тут исправить на 'я'

Добавлено через 32 секунды
m09, если не сообразили зачем
C++
1
2
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
тогда сотрите его

Добавлено через 8 минут
m09,
Вот совсем коротко
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <string>
 
using namespace std;
 
int main(){
    string str, ans;
    while (cin >> str) {
        if (str.length() > ans.length() && str[0] == 'я') 
            ans = str;
    }
    if (ans == "")
        ans = "аволс огокат тен";
    reverse(ans.begin(), ans.end());
    cout << ans;
    return 0;
}
m09
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 20
14.05.2013, 19:24  [ТС]     Разработать алгоритм и программу для решения задачи с использованием строк символов #27
a u vas eta programma zapuskaetsya?
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
14.05.2013, 19:26     Разработать алгоритм и программу для решения задачи с использованием строк символов #28
m09, разумеется на microsoft visual studio c++ 2012 в empty project делаю, только я ещё файлы подключал input.txt и output.txt
тогда
C++
1
2
freopen("input.txt", "rt", stdin);
freopen("output.txt", "wt", stdout);
нужен
m09
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 20
14.05.2013, 19:28  [ТС]     Разработать алгоритм и программу для решения задачи с использованием строк символов #29
Можете мне результаты скинуть??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 19:33     Разработать алгоритм и программу для решения задачи с использованием строк символов
Еще ссылки по теме:
Разработать алгоритм и программу для определения процента гласных символов в тексте C++
C++ Разработать алгоритм и программу для определения процента гласных символов в тексте!
Разработать алгоритм и программу решения в C++ C++
C++ Написать программу на С/С++ с использованием рекуррентных соотношений решения задачи:
Составить программу решения задачи, используя рекурсивный алгоритм C++

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

Или воспользуйтесь поиском по форуму:
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
14.05.2013, 19:33     Разработать алгоритм и программу для решения задачи с использованием строк символов #30


Цитата Сообщение от m09 Посмотреть сообщение
Можете мне результаты скинуть??
Yandex
Объявления
14.05.2013, 19:33     Разработать алгоритм и программу для решения задачи с использованием строк символов
Ответ Создать тему
Опции темы

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