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

Строки C++ - C++

Восстановить пароль Регистрация
 
qwe12355
7 / 7 / 0
Регистрация: 26.11.2011
Сообщений: 117
26.11.2011, 20:42     Строки C++ #1
Помогите пожалуйста.

Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо:

а) определить количество слов в строке;

б) найти самое длинное слово и его порядковый номер;

в) вывести каждое четное слово.

Строку инициализировать в коде программы:

So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.

В коде нельзя использовать указатели!!!!!!!
Вот я первых два пункта написал, но использовал указатели для 2 пункта. Я не могу придумать как 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
25
26
#include <iostream.h>
#include <ctype.h>
#include <string.h>
 
void main()
{
int i,n=0;
char str[300]="So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid,  whether  the  pleasure  of making a daisy-chain would be worth the trouble of getting up and  picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.",c;
//str="So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid,  whether  the  pleasure  of making a daisy-chain would be worth the trouble of getting up and  picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.";
for(i=0;i<300;i++)
{
    c=str[i];
    if (isspace(c)) n++;
}
cout<<"Number of word - "<<n+1<<endl;
 
int max,l;
char *p;
p=strtok(str," ,.!?:;");
while (p=strtok(NULL," ,.!?:;"))
{
    l=strlen(p);
    if (l>max) max=l;
}
cout<<"The max length of word - "<<max<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 20:42     Строки C++
Посмотрите здесь:

C++ Как считать строки из файла, если там больше одной строки?
C++ как первые два символа строки переставить в конец этой строки?
Выявить строки, в которых макс. эл-т больше суммы остальных эл-ов строки C++
C++ Переставить строки матрицы по возрастанию максимальных элементов каждой строки
C++ Функция перезаписывает символы строки заданным количеством символов другой строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
26.11.2011, 22:12     Строки C++ #2
qwe12355, создайте двухмерный массив символов и заполните словами
qwe12355
7 / 7 / 0
Регистрация: 26.11.2011
Сообщений: 117
27.11.2011, 11:58  [ТС]     Строки C++ #3
а как это сделать?
qwe12355
7 / 7 / 0
Регистрация: 26.11.2011
Сообщений: 117
02.12.2011, 17:22  [ТС]     Строки C++ #4
нікто не подскажет? нет?
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.12.2011, 17:28     Строки C++ #5
первый цикл будет перебирать весь текст
переменные int number,clova (*char)[]
если первый символ не пробел продолжаем цикл
иначе
начинаем посимвольно записовать слово в clova(увеличиваем счётчик первого цикла) (символом окончания служит тот же пробел)
когда запись слова завершена number увеличиваем на один
qwe12355
7 / 7 / 0
Регистрация: 26.11.2011
Сообщений: 117
02.12.2011, 17:52  [ТС]     Строки C++ #6
меня 3 пункт больше интересует
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
02.12.2011, 18:13     Строки C++ #7
Цитата Сообщение от qwe12355 Посмотреть сообщение
меня 3 пункт больше интересует
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
int main()
{
    std::string Str = "So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.";
    std::size_t end, beg = Str.find_first_not_of(" .,");
    int Cnt = 0;
    while(beg!=std::string::npos)
    {
        end = Str.find_first_of(" .,", beg);
        Cnt++;
        if(!(Cnt%2))
            std::cout<<Str.substr(beg, end-beg)<<" ";
        beg = Str.find_first_not_of(" .,", end);
    }
    std::cout<<std::endl
    system("pause");
    return 0;
}
Или

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    std::string Str = "So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.";
    std::istringstream ist(Str);
    int Cnt = 0;
    while(ist>>Str)
    {
        Cnt++;
        if(!(Cnt%2))
            std::cout<<Str<<" ";
    }
    std::cout<<std::endl;
    system("pause");
    return 0;
}
Или С-вариант

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char Str [] = "So she was considering in her own mind, as well as she could, for the hot day made her feel very sleepy and stupid, whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.";
    char *p = strtok(Str," .,");
    int Cnt = 1;
    while(p = strtok(NULL," .,"))
    {
        Cnt++;
        if(!(Cnt%2))
            printf("%s ",p);
    }
    getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 18:45     Строки C++
Еще ссылки по теме:

C++ Упорядочить строки матрицы лексикографически по неубыванию первых k элементов строки.
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки
Прибавить ко всем элементам каждой строки максимальное значение этой строки C++

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

Или воспользуйтесь поиском по форуму:
qwe12355
7 / 7 / 0
Регистрация: 26.11.2011
Сообщений: 117
02.12.2011, 18:45  [ТС]     Строки C++ #8
Спасибо большое
Yandex
Объявления
02.12.2011, 18:45     Строки C++
Ответ Создать тему
Опции темы

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