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

Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить график зависимости http://www.cyberforum.ru/cpp-beginners/thread616048.html
Помогите написать программу на С++ .Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это пирамида высотой А и с квадратным основанием ширины В.
C++ Запустить функцию с именем из переменной Всем доброго времени суток! Можно ли вызвать функцию, имя которой написано в переменной? Например, в ЯП AutoIt такая возможность есть (выглядит так: Execute("func_name(params)")). Делаю класс меню в консоли (даже не спрашивайте зачем, просто интересно попробовать:) + для пары мелких утилит пригодится), и хочу сделать универсальным - при инициализации класса указываешь элементы, цвета etc, и... http://www.cyberforum.ru/cpp-beginners/thread616047.html
C++ Задачка на высокосный год
Дана структура, задающая дату вида: Struct date {int day; int month; int year;}; Пользуясь таким структурным типом, составить программу, определяющую: дату, которая наcтупит через m дней; #include <iostream> #include <windows.h> #include <math.h>
C++ Дан массив (codeblocks10.04)
Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5. Не надо заводить ни каких вспомогательных массивов (в том числе и в своих функциях).есть ошибка которую не могу исправить, помогите пожалуйста #include <iostream> #include <conio.h> #include <ctime> #include <cstdlib>
C++ Найти сумму квадратов чисел. Сodeblocks 10.04 http://www.cyberforum.ru/cpp-beginners/thread616035.html
Найти сумму квадратов тех чисел a1, …, a100, которые не превосходят двух. Логика хромает. должно не превосходить двух, есть ошибка которую не могу исправить. помогите пожалуйста. #include <iostream> #include <math.h> using namespace std;
C++ Какой у меня уровень знания C++? Для специалистов Опыта работы нет. Хочу написать резюме на стажера, но не знаю что написать про C++. Как мне кажется почти весь синтаксис C++ я знаю. Прочитал давно Дейтелов("Как программировать на C++") и Страуструпа ("Программирование. Принципы и практика использования C++"). Все вроде понимаю и знаю, что там написано. STL в процентном отношении наверно мало знаю, но основы и принцип STL знаю. Знаю часть того,... подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
29.06.2012, 11:38     Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.
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
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    static char* psz = "apple FRUIT orange LEMON juice crunch\0";
 
    printf("%s\n",psz);
 
    char str[256] = "\0";
    char* buf = psz; int count = 0;
    while ((buf = strchr(buf,' ')) != NULL && *psz != '\0')
    {
        char temp[256] = "\0"; int x = 0;
        while (*psz != *buf && *psz != '\0') 
            temp[x++] = *psz++;
 
        bool upper = false;
        for (int i = 0; temp[i] != '\0' && !upper; i++)
            upper = isupper(temp[i]) ? 1 : 0;
 
        for (int k = 0; temp[k] != '\0' && !upper; k++)
            temp[k] = toupper(temp[k]);
 
        strcat(str,temp);
        strcat(str," ");
        
        count = !upper ? count+1 : 0; *psz++;
    }
 
    printf("%s\n",str);
    printf("count = %d\n",count);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/ef7753...8525ce42a756b7

Добавлено через 12 минут
Вариант 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
27
28
29
30
31
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    static char psz[256] = "apple FRUIT orange LEMON juice crunch\0";
 
    printf("%s\n",psz);
 
    int count = 0;
    for (int i = 0; psz[i] != '\0'; i++)
        if (isspace(psz[i]) || i == strlen(psz)-1)
        {
            bool upper = false;
            for (int k = i-1; k >= 0 && !isspace(psz[k]) && !upper; k--)
                upper = isupper(psz[k]) ? 1 : 0;
 
            for (int n = i-1; n >= 0 && !isspace(psz[n]) && !upper; n--)
                psz[n] = toupper(psz[n]);
 
            count = (!upper) ? count+1 : 0;
        }
 
    printf("%s\n",psz);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/f5cda4...53fa7babcce908
 
Текущее время: 14:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru