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

C++ строки нужен хотябы пример - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дешифратор http://www.cyberforum.ru/cpp-beginners/thread314849.html
Здравствуйте, не могли бы вы мне помочь с данной программой в объяснении её где какие операции она совершает. Писал её я не сам, т.к. знаю плохо C++. Помогите пожалуйста, в университете надо долг сдать... Задание: для обеспечения сохранности информации при хранении ее часто шифруют различными способами. Напишите программу, шифрующую информацию и программу – дешифратор. #include...
C++ Зеркально отразить элементы матрицы относительно вертикальной оси симметрии Если не сложно помогите сделать еще 2 задачи, очень нужно! Заранее спасибо)) 2. Дана матрица размера M  N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца. 3. Дана матрица размера M  N. Зеркально отразить ее элементы относительно вертикальной оси симметрии матрицы (при этом поменяются местами столбцы с номерами 1 и N, 2 и N – 1... http://www.cyberforum.ru/cpp-beginners/thread314843.html
C++ Из входной последовательности символов построить бинарное дерево поиска
как из входной последовательности символов построить бинарное дерево поиска. Подскажите пожалуйста.
Переводчик C++
Есть задание написать переводчик русских букв в транслит и обратно,все хорошо но есть проблема,при переводе букв ч,щ,ш в транслит все работает,переводятся как ch,shh и sh,но вот когда переводить наоборот ch в ч,то переводчик выдает цх,как сделать чтоб переводилось ch в ч,sh в ш и так далее? вот кусок кода #include <windows.h> #include <iostream> using namespace std; void...
C++ Ошибка при компиляции undefined reference to `List<int>::List()'| http://www.cyberforum.ru/cpp-beginners/thread314819.html
Доброго времени суток=) столкнулась с такой проблемой нужно написать шаблон класса. При компиляции выдает ошибку undefined reference to `List<int>::List()'. причем если перенести реализацию конструктора и деструктора в заголовочный файл то ошибка уходит, возможно я где то косячу с объявлениями вот исходник: main.cpp #include <iostream> #include "list.h" using namespace std; int main()
C++ Как в С++ конвертнуть HEX в DEC? Киберперцы, есть ли готовая функция в Visual C++ для конвертации из HEX (типа F4A36) в DEC (типа 1002038) ? подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.06.2011, 12:48     C++ строки нужен хотябы пример
Цитата Сообщение от Kastaneda Посмотреть сообщение
ИМХО
написать 2 ф-ции
C
1
2
3
bool is_vowels(char);//возвращает true, если буква гласная
// и
bool is_consonant(char);//возвращает true, если буква согласная
а дальше просто для каждой буквы в слове вызывать эти ф-ции
C
1
2
3
4
5
6
if(is_vowels(some_char))
      vowels++;//счетчик гласных
else if(is_consonant(some_char))
      consonant++;//счетчик согласных
else /*some code*/ //если символ не гласная и не согласная, значит знак пунктуации или пробел,
                           // значит слово кончилось
Думаю как-то так.
strchr(vowels,буква) должен быстрее работать, ибо стандартная функция, а если условие ложно, то лучше увеличивать счетчик согласных. Если правильно delims для strtok'a настроить, то лишних символов в слове не будет
Так у меня получилось:
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
#include <iostream>
#include <cstring>
#define size 1000
#define delims " \t\n!?,."
struct words{char word[30];};
int main(){
    char s[size];
    std::cin.getline(s,size);
    unsigned maxlen=0,j=0,count=0;
    char * p=strtok(s,delims),vowels[]="eyuioajEYUIOAJ";
    words array[30];
    while (p){
        unsigned x,y; //количесто согласных и гласных
        x=y=0;
        strcpy(array[j++].word,p); 
        if (strlen(p)>maxlen) maxlen=strlen(p);
        for (unsigned i=0; p[i];i++) //подсчет гласных и согласных
            if (strchr(vowels,p[i])) x++; else y++;
        if (x==y) count++;
        p=strtok(0,delims);
    }
    std::cout << "longest words:\n";
    for (unsigned i=0; i < j;i++)  //Вывод слов с максимальной длиной
        if (strlen(array[i].word)==maxlen) std::cout << array[i].word << ' ';
    std::cout << "\ncount - " << count << std::endl; //вывод количества слов, у которых гласных букв столько же, сколько и согласных
    return 0;
}
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru