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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
#1

Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные - C++

12.12.2013, 20:31. Просмотров 2857. Ответов 36
Метки нет (Все метки)

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

p.s:знаю только как на паскале написать, а нужно на С++; приветствую любую помощь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 20:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные (C++):

Написать программу, которая будет подсчитывать количество гласных букв в строке, введенной с клавиатуры. - C++
:wall: help

Записать в файл слова отличные от последнего предварительно удаляя первые буквы из каждого слова - C++
Здравствуйте, помогите работаться с ошибками, мучаюсь уже две недели, и не могу понять в чем дело Суть программы пользовать вводит...

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

Составить строку, содержащую первые буквы из каждого слова заданного предложения - C++
Составить строку, содержащую первые буквы из каждого слова заданного предложения. Буду очень благодарен!)

Написать программу, которая удаляет из текстового файла слова, начинающиеся и оканчивающиеся на гласные буквы - C++
//Написать программу, которая удаляет из текстового файла слова, начинающиеся и оканчивающиеся на гласные буквы. #include <stdio.h> ...

Написать программу, которая удаляет в строке все буквы b в тексте, написанном латинскими буквами - C++
Помогите пожалуйста написать программу. Нужно написать программу, которая удаляет в строке все буквы b в тексте, написанном латинскими...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 20:54  [ТС] #2
составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран символьную строку до и после изменения


P.S:приветствую любую помощь, у меня идей даже нет
0
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 21:27 #3
Пробуйте.

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
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char *str = new char[100];
    strcpy(str,"123    F FDFds Ffsdf 123 Fshsdf. FGfffd");
 
    std::cout << str << "\n";
 
    bool newWord = true;
    for (int i = 0; i < strlen(str); i++)
    {
        if (str[i] == ' ')
            newWord = true;
 
        if (str[i] >= 'A' && str[i] <= 'Z')
            if (newWord)
            {
                str[i] = tolower(str[i]);
                newWord = false;
            }
    }   
    std::cout << str << "\n";
 
    delete [] str;
    str = nullptr;
 
    system("pause");
    return 0;
}
1
MicM
822 / 489 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
12.12.2013, 21:42 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <cctype>
 
int main()
{
    std::string str;
    getline (std::cin, str);
    unsigned int i = 0;
    while (i<str.size())
    {
        if (isalpha(str[i]))
        {
            str[i] = toupper(str[i]);
            while (i<str.size() && isalpha(str[i]))
                ++i;
        }
        else ++i;
    }
    std::cout <<str <<std::endl;
    return 0;
}
0
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 21:44  [ТС] #5
у меня она не работает(
да и я не проходил таких функций как(count. bool.strcpy и.т.д)
я не понимаю этот код(
я совсем чайник ( на printf, scanf...)
0
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
12.12.2013, 21:49 #6
Цитата Сообщение от MicM Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <cctype>
 
int main()
{
    std::string str;
    getline (std::cin, str);
    unsigned int i = 0;
    while (i<str.size())
    {
        if (isalpha(str[i]))
        {
            str[i] = toupper(str[i]);
            while (i<str.size() && isalpha(str[i]))
                ++i;
        }
        else ++i;
    }
    std::cout <<str <<std::endl;
    return 0;
}
getline не определяет
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.12.2013, 21:54 #7
Цитата Сообщение от petyahohlov Посмотреть сообщение
getline не определяет
Очень странно.
0
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:11 #8
Давайте так: я написал к каждой строчке комментарий. Вы пробуйте и напишите, что у вас выводит программа (или какую ошибку)

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>
int main()
{
    setlocale(LC_ALL, "Russian");
    char str[100]; // создаем массив символов длиной в 100
    memset(&str, 0, sizeof(str)); // очищаем память массива от "мусора"
    sprintf(str, "%s", " HG 123 D 4Dfds 63DDgfdf 234 Dfsdgs FsdF"); // пишем в наш массив строку
    std::cout << str << "\n"; // выводим в консоль
    bool newWord = true; // это переменная типа булево, принимает значения "Ложь" или "Истина"
    for (int i = 0; i < strlen(str); i++) // цикл по всей длине строки-массива
    {
        if (str[i] == ' ') // если текущий символ строки равен пробелу
            newWord = true; // ставим значение "Истина" для переменной newWord
        if (str[i] >= 'A' && str[i] <= 'Z' && newWord) // если текущий символ в верхнем регистре анг. алфавита и переменная newWord равна "Истина"
            {
                str[i] = tolower(str[i]); // переводим текущий символ в нижний регистр
                newWord = false; // устанавливаем переменную newWord в значение "Ложь"
            }
    }   
    std::cout << str << "\n"; // выводим ещё раз нашу строку в консоль
    system("pause");
    return 0;
}
0
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:25  [ТС] #9
вот
0
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:33 #10
А почему у Вас "Исходный код.с"?! Вы создавали на языке "с"? Если да то нужно создать консольный проект и выбрать язык "с++".
0
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:39  [ТС] #11
одна ошибка
0
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
12.12.2013, 22:42 #12
Вам же написали - используйте sprintf_s или вставьте в самом начале файла
C++
1
#define _CRT_SECURE_NO_WARNINGS
1
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:45 #13
sprintf заменить на sprintf_s или в самом начале файла (первой строчкой) написать #define _CRT_SECURE_NO_WARNINGS
1
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:51  [ТС] #14
спасибо! а можно сделать так, чтоб пользователь сам вводил строку?
0
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:56 #15
Наверное можно.
C++
1
2
sprintf_s(str, "%s", " HG 123 D 4Dfds 63DDgfdf 234 Dfsdgs FsdF"); // вот это можно удалить и заменить на
std::cin.get(str, 100); // 100 это размер строки. Столько же, сколько мы указывали в str[100].
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 22:56
Привет! Вот еще темы с ответами:

Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину каждого слова - C++
Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину (число символов) каждого слова. Длина...

Написать программу перевода строчных букв в прописные буквы - C++
написать программу перевода строчных букв в прописные буквы.

Посчитать количество слов во введенной строке и найти слова, которые начинаются с буквы t - C++
Суть задания такова... 1-посчитать к-во слов во введенной строке. 2-Найти слова, которые начинаются с буквы t. 3-Тут главная проблема -...

Написать программу добавления слова «hello» после первого слова введенной строки - C++
Написать программу добавления слова «hello» после первого слова введенной строки C++


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.12.2013, 22:56
Ответ Создать тему
Опции темы

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