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

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

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

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

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

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

p.s:знаю только как на паскале написать, а нужно на С++; приветствую любую помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 20:31     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные
Посмотрите здесь:
C++ Написать программу, которая будет подсчитывать количество гласных букв в строке, введенной с клавиатуры.
Записать в файл слова отличные от последнего предварительно удаляя первые буквы из каждого слова C++
C++ У каждого слова введенной строки поменять местами первую и последнюю букву.
Составить строку, содержащую первые буквы из каждого слова заданного предложения C++
Написать программу, которая удаляет из текстового файла слова, начинающиеся и оканчивающиеся на гласные буквы C++
Написать программу, которая удаляет в строке все буквы b в тексте, написанном латинскими буквами C++
Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину каждого слова C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 20:54  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #2
составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран символьную строку до и после изменения


P.S:приветствую любую помощь, у меня идей даже нет
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;
}
MicM
821 / 488 / 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;
}
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 21:44  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #5
у меня она не работает(
да и я не проходил таких функций как(count. bool.strcpy и.т.д)
я не понимаю этот код(
я совсем чайник ( на printf, scanf...)
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 не определяет
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.12.2013, 21:54     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #7
Цитата Сообщение от petyahohlov Посмотреть сообщение
getline не определяет
Очень странно.
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;
}
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:25  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #9
вот
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:33     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #10
А почему у Вас "Исходный код.с"?! Вы создавали на языке "с"? Если да то нужно создать консольный проект и выбрать язык "с++".
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:39  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #11
одна ошибка
Миниатюры
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные  
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
12.12.2013, 22:42     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #12
Вам же написали - используйте sprintf_s или вставьте в самом начале файла
C++
1
#define _CRT_SECURE_NO_WARNINGS
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 287
Завершенные тесты: 1
12.12.2013, 22:45     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #13
sprintf заменить на sprintf_s или в самом начале файла (первой строчкой) написать #define _CRT_SECURE_NO_WARNINGS
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 22:51  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #14
спасибо! а можно сделать так, чтоб пользователь сам вводил строку?
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].
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
12.12.2013, 23:06  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #16
спасибо
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
13.12.2013, 07:14     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #17
я заменяю на рандомную прописную
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
    srand(time(NULL));
    char str[] = "Ajhd hhjd Ahjd Fhmd wWmsdmn Rnc";
    if(str[0] >= 'A' && str[0] <= 'Z'){
        str[0] = ('a' + rand() % ('z' - 'a')); 
        cout<<str[0];
    }
    for(int i = 1; str[i]; i++){
        if(str[i] == ' '){
            str[i+1] = ('a' + rand() % ('z' - 'a')); 
            cout<<str[i+1];
        }
        cout<<str[i];
    }
return 0;
}
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
14.12.2013, 21:10  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #18
как вывести на печать строку которую ввел пользователь?

p.s: выводить нужно с помощью циклов и prinrf-ом. напишите
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
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include<locale.h>  
#define N 30
#define M 21
int main()
{
    char str[N][M];
    int i, j, v, b, z;
    i = 0;
    j = 0;
    setlocale(LC_ALL, "Russian");
    printf("Введите предложение\n");
    while (1)
    {
        v = getchar();
        if ((v == '!') || (v == '?') || (v == '.'))
            break;
 
        if ((v >= 'a') && (v <= 'z') || (v >= 'A') && (v <= 'Z') || (v == ' '))
        {
        }
        else
        {
            printf("Ошибка:недопустимый символ\n");
            return 0;
        }
        if (v != ' ')
        {
            str[i][j++] = v;
        }
        if (j > 21)
        {
            printf("Ошибка:слишком длинное слово\n");
            return 0;
        }
 
        if (v == ' ')
        {
            str[i][j++] = '\0';
            i++;
            j = 0;
        }
        if (i > 31)
        {
            printf("Ошибка:слишком длинное предложение\n");
            return 0;
        }
    }
}
zss
Модератор
Эксперт С++
6289 / 5892 / 1910
Регистрация: 18.12.2011
Сообщений: 15,129
Завершенные тесты: 1
14.12.2013, 21:16     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #19
После выхода из цикла в переменной i хранится количество введенных строк.
Поэтому вывод будет такой
C++
1
2
3
4
5
6
for(int i1=0;i1<i;i1++)
{
    for(int j=0;str[i][j];j++)
           printf("%c",str[i][j]);
    printf("\n");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 21:25     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные
Еще ссылки по теме:
Написать программу перевода строчных букв в прописные буквы C++
Посчитать количество слов во введенной строке и найти слова, которые начинаются с буквы t C++
Написать программу добавления слова «hello» после первого слова введенной строки C++
C++ Написать программу добавления слова «hello» после первого слова введенной строки
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы. C++

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

Или воспользуйтесь поиском по форуму:
drovosek-95
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 27
14.12.2013, 21:25  [ТС]     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные #20
Цитата Сообщение от zss Посмотреть сообщение
C++
1
for(int i1=0;i1<i;i1++)
А зачем тут после i стоит 1
Yandex
Объявления
14.12.2013, 21:25     Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные
Ответ Создать тему
Опции темы

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