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

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

Войти
Регистрация
Восстановить пароль
 
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
#1

слова из М букв - C++

24.03.2011, 20:59. Просмотров 784. Ответов 5
Метки нет (Все метки)

Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.

помогите пожалуйсто...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <locale>
using namespace std;
 
 
void main()
{
    setlocale(LC_ALL,"rus");
    char s[100];
    cout<<"Введите текст: ";
    gets(s);
    int M;
    cout<<"Введите количество букв: ";
    cin>>M; 
 
    
 
    getch();
}
Задана строка символов. Получить новую строку, в которой вначале стоят все символы, стоящие на четных местах в исходной строке, а затем – стоящие на нечетных.

просто хотел узнать правильно или нет написа программа
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 <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <locale>
using namespace std;
 
 
void main()
{
    setlocale(LC_ALL,"rus");
    char s[100];
    cout<<"Введите текст: ";
    gets(s);
    cout<<"Новая строка: ";
    int dl;
    dl=strlen(s);
    for(int i=1;i<dl;i+=2)  
        cout<<s[i];
    for(int i=0;i<dl;i+=2)
        cout<<s[i];
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2011, 20:59     слова из М букв
Посмотрите здесь:

Перенос первых букв в конец слова C++
C++ Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.
Можно ли из букв слова X составить слово Y? C++
C++ Вводится последовательность слов до встречи слова "stop". Образовать предложение, в котором разместить слова, состоящие более чем из 5 букв.
Упорядочить слова по возрастанию количеств букв "d", входящих в слова C++
C++ Найти слова с парным количеством букв
C++ Удаление букв из слова
C++ Состоят ли слова в строке из букв?
Вывести слова с нужным сочетанием букв C++
Сортировать слова по количеству букв (по возрастанию) C++
C++ Отсортировать слова по количеству гласных букв
Вывести слова с нечетным количеством букв C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1923 / 1532 / 139
Регистрация: 31.05.2009
Сообщений: 2,895
25.03.2011, 00:20     слова из М букв #2
Цитата Сообщение от Zheka91 Посмотреть сообщение
Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.
http://www.cplusplus.com/reference/c...string/strtok/
Цитата Сообщение от Zheka91 Посмотреть сообщение
просто хотел узнать правильно или нет написа программа
В задании сказано получить новую строку, а не просто вывести это на экран.
Mr.X
Эксперт С++
3039 / 1684 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
25.03.2011, 07:36     слова из М букв #3
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
/////////////////////////////////////////////////////////////////////////////////////////
//Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
#include <windows.h> 
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
 
    struct  T_word_len_not_eq_to
    {
        size_t  word_len_;
        //-------------------------------------------------------------------------------
        T_word_len_not_eq_to(size_t  word_len) : word_len_(word_len)
        {}
        //-------------------------------------------------------------------------------
        bool  operator() (const T_str&  word)
        {
            return  word.size() != word_len_;
        }
    };
 
    std::cout << "Введите количество букв: ";
    int  n = 0;
    std::cin >> n;
 
    std::cout << "Введите строку на латинице из нескольких слов: "
              << std::endl;
 
    std::remove_copy_if(std::istream_iterator<T_str>(std::cin),
                        std::istream_iterator<T_str>(),
                        std::ostream_iterator<T_str>(std::cout, "\n"),
                        T_word_len_not_eq_to(n));   
}
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101
25.03.2011, 13:50  [ТС]     слова из М букв #4
Цитата Сообщение от rangerx Посмотреть сообщение
http://www.cplusplus.com/reference/c...string/strtok/

В задании сказано получить новую строку, а не просто вывести это на экран.
а это как??
rangerx
1923 / 1532 / 139
Регистрация: 31.05.2009
Сообщений: 2,895
25.03.2011, 23:42     слова из М букв #5
Цитата Сообщение от Zheka91 Посмотреть сообщение
а это как??
Создаёшь ещё один массив и копируешь всё туда...
IrineK
Заблокирован
26.03.2011, 00:09     слова из М букв #6
Дана строка из отдельных английских слов. Напечатать все слова, состоящие из M букв.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <sstream>
#define M 3
using namespace std;
 
int main()
{
    string intro("A long time ago in a galaxy far, far away...It is a period of civil war.");
    string word;
    for(int i=0;i<intro.length();i++)
        if(intro[i]=='.' || intro[i]==',' || intro[i]=='?' || intro[i]=='!')
            intro[i]=' ';
    istringstream ist(intro);
    while(ist>>word)
        if(word.length()==M) cout<<word<<" ";
    
    cin.get();
    return 0;
}
Добавлено через 14 минут
Задана строка символов. Получить новую строку, в которой вначале стоят все символы, стоящие на четных местах в исходной строке, а затем – стоящие на нечетных.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <sstream>
using namespace std;
 
int main()
{
    string intro("A long time ago in a galaxy far, far away...It is a period of civil war.");
    char* end = new char[intro.length()+1];
    int i,k;
    for(i=0,k=0;i<intro.length();i+=2,k++)
            end[k]=intro[i];
    
    for(i=1;i<intro.length();i+=2,k++)
            end[k]=intro[i];
    
    end[k]='\0';
    cout<<end;
 
    delete []end;
    cin.get();
    return 0;
}
Yandex
Объявления
26.03.2011, 00:09     слова из М букв
Ответ Создать тему
Опции темы

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