Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Cлова не содержащие гласных букв 
:(
    Опции темы
Генадий
Дата 27.4.2010, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.4.2010

Репутация: нет
Всего: нет



Здравствуйте, не могу понять почему не работает эта программа, подскажите что мне нужно изменить.
Программа компилируется, ошибок не выдаёт, после ввода слов и нажатия Enter ничего не происходит.

Условие задачи такое:
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются  одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не  более 255 символов. Выполнить ввод строки, используя функцию Gets(s)  и обработку строки в соответствии со своим вариантом.
Напечатать все слова, которые не содержат гласных букв.


Код

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
int main(int argc, char *argv[])

    const int size = 255;
    char *clas = "qwrtpsdfghklzxcvbnmQWRTPSDFGHKLZXCVBNM\
цкнгшщзхфвпрлджчсмтбЦКНГШЩЗХФВПРЛДЖЧСМТБ";
    char str[size],
        *c = str, 
        *ch = NULL;
    gets( str );
    puts("\n");
    char *end = str + strlen( str );
    while( c < end ){
        c = strtok( c, " " );
        ch = strpbrk( c, clas );
        if ( ch == NULL ) 
        cout<<"s ", c ;
        c += strlen( c ) +1;
    }
    cin.get();
    return 0;
}



Это сообщение отредактировал(а) Генадий - 27.4.2010, 20:12
PM MAIL   Вверх
toxx
Дата 27.4.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



Код

#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<conio.h>
using namespace std;
int main(int argc, char *argv[])

    const int size = 255;
    char *clas = "ay";
    char str[size],
        *c = str, 
        *ch = NULL;
    gets( str );
    puts("\n");
    char *end = str + strlen( str );
    while( c < end ){
        c = strtok( c, " " );
        ch = strpbrk( c, clas );
        if ( ch == NULL ) puts(c);
        c += strlen( c ) +1;
    }
    getch();
    return 0;
}


Не мешайте  средства ввода\вывода в стиле с\с++ т.к. если их использовать вместе бывают такие вот проблемы как у вас. 
Используйте либо cin\cout или puts\gets.

UPD: простите не то скопировал, заменил.Посоветовал бы добавить в char *clas="ay..." гласные буквы.

Это сообщение отредактировал(а) toxx - 27.4.2010, 21:49
PM MAIL   Вверх
Генадий
Дата 27.4.2010, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.4.2010

Репутация: нет
Всего: нет



toxx, благодарю за помощь  smile 
PM MAIL   Вверх
toxx
Дата 27.4.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



Генадий
Проверьте еще раз я поправил пост =)
PM MAIL   Вверх
Генадий
Дата 27.4.2010, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.4.2010

Репутация: нет
Всего: нет



Спасибо ещё раз, за помощь. smile 
PM MAIL   Вверх
djamshud
Дата 27.4.2010, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



А завтра мы попадаем в мир многобайтовых кодировок и весь этот код идет в баню, и пишется новый.

//А все продвинутое человечество уже там (в мире).

ЗЫ. Это касается и Геннадия, и toxx-а.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
toxx
Дата 27.4.2010, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



djamshud
мне до многобайтовых кодировок, как до Китая=)
дай бог освоить char и string =)

Вот только объясните почему в вузах не дают юникод и т.д.?
Чему учат, то и изучаем =)
PM MAIL   Вверх
djamshud
Дата 27.4.2010, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



Учиться - задача студента. ВУЗ в этом только помогает.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
toxx
Дата 27.4.2010, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



djamshud
Я итак изучаю больше чем мне дают в разы, я сейчас должен был уметь только чегото делать с классами( пару методов добавлять, да конструктор писать).Но мне интересно ковыряться в этой всякой всячине и я ковыряюсь во всем, что попадается под руку.
Говоря о графике ничего не дают, ну разве что <graphics.h> который уже устарел давно( но тем не менее я уже пощупал winapi,Qt), думаю в скором времени я изучу и юникод =)

Надеюсь я в правильном направлении развиваюсь?

Это сообщение отредактировал(а) toxx - 27.4.2010, 23:38
PM MAIL   Вверх
djamshud
Дата 27.4.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 1
Всего: 39



toxx, вашя тяга к знаниям похвальна, но не надо передо мной оправдываться. Я лишь заметил, что отмазка "нам этого не давали" может и прокатит на экзамене, но не в жизни. Вуз и так дает вам много фундаментальных (не совсем то слово, ну да ладно) знаний, а прикладывать их нужно учиться самому. И graphics.h тоже лишней не будет кстати.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
toxx
Дата 27.4.2010, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



djamshud
Эхх плохо я употребил это выражение "нам не давали", самому тоже нравится =)
ну с встроенной графикой я знаком по паскалю, думаю ничем она не отличается в си( блин опять похоже на отмазки).
Думаю тут будет уместно нужно развивать те знания которые даёт вуз, т.к. если их не развивать(т.к. как применять будем мы эти знания зависит от нас), то подавляющее большинство так и будет сидеть на пузырьковой сортировке( ну для сравнения, так скажем). Я еще общаюсь на этом форуме, т.к. тут можно пообщаться с такими знающими людьми, как например вы и научиться(освоить) мелочам( которых довольно много), пробую отвечать на вопросы.
Поэтому дойдут руки и до сетей и до БД, юникода надеюсь=) 

Это сообщение отредактировал(а) toxx - 27.4.2010, 23:51
PM MAIL   Вверх
scalosale
Дата 8.2.2023, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.2.2023

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.