Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
1

задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная)

12.02.2013, 17:29. Просмотров 1489. Ответов 7
Метки нет (Все метки)

задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2013, 17:29
Ответы с готовыми решениями:

Создать новый текст, который содержит все слова исходного текста, длина которых равна длине минимального слова
Написать программу на языке Pascal для обработки строк. Строка должна вводиться с клавиатуры....

Вводится строка.Удалить из неё все слова,длина которых меньше или равна 3 символам
Вводится строка.Удалить из неё все слова,длина которых меньше или равна 3 символам

Создать новый файл, в котором будут находиться все слова, длина которых будет наименьшей
создать текстовый файл.За один просмотр файла создать новый файл, в котором будут находиться все...

Удалить из файла все слова, длина которых меньше половины длины самого длинного слова второй строки
Переписать текст в файл output.txt, удалив из него все слова, длина которых меньше половины длины...

7
2 / 2 / 2
Регистрация: 19.11.2012
Сообщений: 55
12.02.2013, 17:40 2
смотри strtok();
0
32 / 32 / 17
Регистрация: 10.10.2012
Сообщений: 88
12.02.2013, 17:43 3
Удалить, это как? Создать новый массив в котором будут содержаться только слова с нечетным кол-вом букв, или же в старом массиве заменить слова с четным количеством букв пробелами?
Если просто заменить пробелами то вот, делал буквально 3-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
#include <iostream>
 
using namespace std;
 
int main()
{
    char *buffer = new char[512];
    cin.getline(buffer, 512);
    int k = 0;
    for(int i=0; ((i<512)&&(buffer[i]!='\0')); i++)
    {
        if((buffer[i]==' ')&&((k%2)==0))
        {
            for(int j=i-1; buffer[j]!=' '; j--)
                buffer[j] = ' ';
            k = 0;
        }
        else
            k++;
    }
    cout << buffer << "\n";
    return 0;
}
Если же надо новый массив создать то отпишись, я скину решение.
0
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
12.02.2013, 18:18  [ТС] 4
да создать новый массив с нечетным количеством букв, спасибо
0
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
13.02.2013, 14:30  [ТС] 5
задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная)
0
go
Эксперт С++
3639 / 1371 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
13.02.2013, 14:52 6
Lev93, как парсить строку будете уже знаете?
0
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
13.02.2013, 14:56  [ТС] 7
да, смогу
0
32 / 32 / 17
Регистрация: 10.10.2012
Сообщений: 88
13.02.2013, 15:05 8
Цитата Сообщение от Lev93 Посмотреть сообщение
да создать новый массив с нечетным количеством букв, спасибо
Прошу прощения, вчера времени было мало, дела были, вот решение (переделанное старое, поэтому, скорее всего, не самое лучшее, однако работает):
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
#include <iostream>
 
using namespace std;
 
int main()
{
    char *buffer = new char[512];
    cin.getline(buffer, 512);
    int k = 0;
    for(int i=0; ((i<512)&&(buffer[i]!='\0')); i++)
    {
        if((buffer[i]==' ')&&((k%2)==0))
        {
            for(int j=i-1; buffer[j]!=' '; j--)
                buffer[j] = ' ';
            k = 0;
        }
        else
            k++;
    }
    char *buffer_out = new char[512];
    k = 0; //счетчик для buffer_out
    for(int i=0; ((i<512)&&(buffer[i]!='\0')); i++)
    {
        if(buffer[i]==' ')
        {
            if(buffer[i-1]!=' ')
            {
                buffer_out[k] = buffer[i];
                k++;
                continue;
            }
            else
                continue;
        }
        else
        {
            buffer_out[k] = buffer[i];
            k++;
        }
    }
    cout << buffer_out << "\n";
    delete [] buffer;
    delete [] buffer_out;
    buffer_out = NULL;
    buffer = NULL;
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2013, 15:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Удалить все слова, длина которых меньше 3 символов
Дан текст. Удалить все слова, длина которых меньше 3 символов. Все слова, длина которых больше 3...

Удалить из входной строки все слова длина которых меньше L символов
Здравствуйте пользователи этого форума, мне нужна ваша помощь. Напишите программу на языке...

Удалить из строки все слова, длина которых меньше пяти символов
Удалить из строки все слова, длина которых меньше пяти символов. В строке не используются знаки...

Удалить из строки все слова, длина которых меньше пяти символов
1. Вывести на экране строку, введенную пользователем, по диагонали. 2. Добавить в строку пробелы...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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