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

Заменить самое длинное слово на самое короткое и наоборот - C++

Восстановить пароль Регистрация
 
Sergei066800
1 / 1 / 0
Регистрация: 30.09.2012
Сообщений: 8
16.05.2013, 20:23     Заменить самое длинное слово на самое короткое и наоборот #1
Необходимо заменить самое длинное слово на самое короткое и самое короткое на самое длинное. Я их нашел, но как заменить не знаю... Получившийся код прилагаю, буду очень благодарен за помощь!

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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");  
 char *f, x[150] = "C++ мова програмування високого рiвня з пiдтримкою декiлькох парадигм програмування.  Розроблена Б'ярном Страуструпом у 1979 роцi";
 cout << "Исходный текст:" << endl;
  for (int i=0; i<=110; i++)
    cout << x[i];
cout << "\n\n";
 int size=strlen(x);
 char* max=NULL,* min=NULL;
    char *X;
    X=strtok(x, " ");
    min=X;
    max=X;
    do
    {
     if (strlen(X)<strlen(min))
      min=X;
     if (strlen(X)>strlen(max))
       max=X;
    }
    while (X=strtok(NULL," "));
    cout<<"Самое короткое: "<<min<<endl;
    cout<<"Самое длинное: "<<max<<endl;
    
    //ЗДЕСЬ ДОЛЖНА БЫТЬ ЗАМЕНА...
    
    cout << "\n\n";
    cout << "Текст после замены:" << endl;
    for (int i=0; i<=110; i++)
    cout << x[i];
 
 getch();
 return 0;
}
Добавлено через 1 час 23 минуты
Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 20:23     Заменить самое длинное слово на самое короткое и наоборот
Посмотрите здесь:

Поменять местами самое длинное слово и самое короткое слово в тексте C++
C++ Дан текст из нескольки строк, определить самое длинное и самое короткое слово
C++ Найти самое короткое и самое длинное слово в строке
Найти самое длинное и самое короткое слово в тексте C++
C++ В заданной строке определить самое длинное и самое короткое слово
C++ Напечатать самое длинное и самое короткое слово в строке
C++ Найти самое короткое и самое длинное слово в строке
Найдите самое длинное, и самое короткое слово в заданном предложении C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
16.05.2013, 21:35     Заменить самое длинное слово на самое короткое и наоборот #2
Всегда лучше использовать string.
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
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
    string text;
    getline(cin, text);
    stringstream ss(text);
 
    string word, longest_word, shortest_word(100, ' ');
 
    while ( ss >> word ) {
        if ( word.size() < shortest_word.size() )
            shortest_word = word;
        if ( word.size() > longest_word.size() )
            longest_word.swap(word);
    }
    
    if (shortest_word != longest_word) {
        size_t longest_word_pos = text.find(longest_word),
               shortest_word_pos = text.find(shortest_word);
 
        text.replace( longest_word_pos, longest_word.size(), shortest_word );
        if ( shortest_word_pos > longest_word_pos )
            shortest_word_pos -= (longest_word.size() - shortest_word.size());
        text.replace( shortest_word_pos, shortest_word.size(), longest_word );
    }
    cout  << text;
    return 0;
}
Yandex
Объявления
16.05.2013, 21:35     Заменить самое длинное слово на самое короткое и наоборот
Ответ Создать тему
Опции темы

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