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

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

Войти
Регистрация
Восстановить пароль
 
Balls
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 12
#1

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

23.06.2010, 17:28. Просмотров 547. Ответов 12
Метки нет (Все метки)

Дан текст. Напечатать все слова четной длины.

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

C++ В тексте слова разделены запятыми,напечатать все слова в алфавитном порядке.
C++ Напечатать все слова отличные от последнего слова, предварительно перенести последнюю букву в начало слова
Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн 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
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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     Напечатать все слова четной длины
Еще ссылки по теме:

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

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

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

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