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

Напечатать все слова четной длины - C++

Восстановить пароль Регистрация
 
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
23.06.2010, 17:28     Напечатать все слова четной длины #1
Дан текст. Напечатать все слова четной длины.

 Комментарий модератора 
Дублирование тем запрещено правилами форума (п. 3.4).
Не плодите одинаковых тем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2010, 17:28     Напечатать все слова четной длины
Посмотрите здесь:

Напечатать все слова, в которых повторяется первая буква слова C++
Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн C++
Работа с файлами. Определить и напечатать слова минимальной длины C++
Строки. Вывести на экран все слова четной длины, у которых... C++
C++ Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
23.06.2010, 18:06     Напечатать все слова четной длины #2
проблема считать слово или определить длину?
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
23.06.2010, 18:09  [ТС]     Напечатать все слова четной длины #3
Проблема полностью написать программу)))
rrrFer
Заблокирован
23.06.2010, 18:19     Напечатать все слова четной длины #4
полностью пишут в разделе "заказ программ". В данном разделе отвечают на вопросы(которых у вас нет) и оказывают помощь (если загляните в словарь то помощь - это содействие, а содействие подразумевает что вы производите действие, а вам помогают(содействуют) )
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
23.06.2010, 20:43     Напечатать все слова четной длины #5
strtok решает вашу задачу в пару действий.
AnTro.Net
 Аватар для AnTro.Net
131 / 127 / 16
Регистрация: 28.04.2010
Сообщений: 930
24.06.2010, 19:46     Напечатать все слова четной длины #6
сначала разделяем текст на слова(пользуйтесь поиском, форум заполнен данными темами)

потом с помощью lenght делаем, тоже на форуме полно
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
27.06.2010, 16:44  [ТС]     Напечатать все слова четной длины #7
Составил программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream.h>
#include<string.h>
main(){
       setlocale(LC_ALL, "Russian");
       char S1[]="Символы – это фундаментальные стандартные блоки исходных программ на C++. Символьная константа   это целое значение, представленное как символ в одинарных кавычках. Значение символьной константы – это целочисленное значение в наборе машинных символов. Например, ‘z’ представляет собой целое значение z, а '\n' представляет собой целое значение символа перехода на новую строку.";
       char *tokenPtr;
       char S2;
       int x;
       tokenPtr=strtok(S1," ");
       while(tokenPtr!=NULL){
                             strlen(tokenPtr)=x;
                             if (x%2==0)
                             cout<<*tokenPtr<<endl;}
       system("pause");
       return 0;}
работать не хочет выдает одну ошибку в 11 строке. Что не правильно и как это исправить?
нашел ошибку исправил 11 строку - x=strlen(tokenPtr) программа компилируется без ошибок но не робит(
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.06.2010, 16:54     Напечатать все слова четной длины #8
Проверяет только первое слово из строки.+ зацикливается в цикле while(toketPtr!=NULL){}

Ибо первое слово имеет длину 7 символов, 7 не делится на два нацело...
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
27.06.2010, 17:17  [ТС]     Напечатать все слова четной длины #9
Все я написал))
надо было еще вот эту строчку добавить tokenPtr=strtok(NULL," ") после вывода на экран)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.06.2010, 17:18     Напечатать все слова четной длины #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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>
#include<cstring>
int main(){
       setlocale(LC_ALL, "Russian");
       char S1[]="Символы – это фундаментальные стандартные блоки исходных программ на C++. Символьная константа   это целое значение, представленное как символ в одинарных кавычках. Значение символьной константы – это целочисленное значение в наборе машинных символов. Например, ‘z’ представляет собой целое значение z, а '\n' представляет собой целое значение символа перехода на новую строку.";
       char *tokenPtr;
       //char S2[];
       int x;
       tokenPtr=strtok(S1," ");
       x=strlen(tokenPtr);
       if (x%2==0)
        std::cout<<tokenPtr<<std::endl;
       while (tokenPtr)
       {
           tokenPtr=strtok(NULL," ");
           if(tokenPtr)
           x=strlen(tokenPtr);
           if(x%2==0)
               std::cout<<tokenPtr<<std::endl;
       }
       delete tokenPtr;
       system("pause");
       return 0;}
Не успел) Молодец, что сам сделал=)
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.06.2010, 17:40     Напечатать все слова четной длины #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define DELIM " ,.\t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        perror("fgets");
        exit(EXIT_FAILURE);
    }
    
    for ( p = strtok(buf, DELIM); p != NULL; p = strtok(NULL, DELIM) )
        if ( ! ( strlen(p) & 1 ) )
            printf("%s\n", p);
    
    exit(EXIT_SUCCESS);
}
Все проблемы начинаются с того, что путаете языки программирования С и С++...

Добавлено через 18 минут
Вариант С++
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 buf;
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    if ( buf.empty() )
        return 1;
 
    std::istringstream ist(buf);
    while ( ist >> buf )
        if ( ! ( buf.size() & 1 ) )
            std::cout << buf << std::endl;
    
    return 0;
}
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
27.06.2010, 18:14  [ТС]     Напечатать все слова четной длины #12
Цитата Сообщение от easybudda Посмотреть сообщение
Все проблемы начинаются с того, что путаете языки программирования С и С++...
ну блин меня как учат так и делаю)


Цитата Сообщение от Lavroff Посмотреть сообщение
Не успел) Молодец, что сам сделал=)
=)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2010, 18:56     Напечатать все слова четной длины
Еще ссылки по теме:

Сложить файлы q1 и q2 содержащие соответственно слова с f файла четной и нечетной длины C++
C++ Дана строка. Напечатать все слова из нее , отличные от слова hello
C++ Напечатать все слова строки, предварительно удалив из каждого слова все предыдущие вхождения последней буквы

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

Или воспользуйтесь поиском по форуму:
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
27.06.2010, 18:56     Напечатать все слова четной длины #13
Balls, почитай тут -> работа со строками хорошо расписано + там есть пример с strtok который можно переделать под твою задачу добавив 1 строку
Yandex
Объявления
27.06.2010, 18:56     Напечатать все слова четной длины
Ответ Создать тему
Опции темы

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