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

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

Войти
Регистрация
Восстановить пароль
 
robotika
0 / 0 / 0
Регистрация: 16.02.2011
Сообщений: 4
#1

По теме Строки. - C++

12.05.2011, 10:09. Просмотров 726. Ответов 7
Метки нет (Все метки)

Привет всем! Помогите пожалуйста с задачкой.Никак немогу понять что идет к чему.

1.Написать функцию для замены первых букв во всех словах на прописные буквы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 10:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос По теме Строки. (C++):

Написание програмы по теме "строки" через функцию - C++
Нужно вывести строку символов. Определить количество одинаковых двухбуквенных сочетаний. Вывести на экран результат паботы. Применить это...

К теме кроссплатформенности - C++
есть код // main.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include...

По теме СТРУКТУРЫ - C++
Привет всем !Помогите с такой задачкой по теме СТРУКТУРЫ. 1. Создайте структуру, которая описывает сотрудника предприятия. Написать...

Задача по теме функции - C++
Мне дали задачу: на языке с++ записать объявления функций, выполняющих заданные действия. Написать функцию main, содержащую примеры...

Литература по теме Отладки программ - C++
Привет всем. Кто-нибуть встречал литературу на тему отладки. Типа как это реализуеться в больших программах. Лутшие решения отладки. и...

Угадайте язык по коду. (Не по теме Си++) - C++
Извените, что создал не по теме. Просто не знал в каком месте лучше. (такого нет) package main import "fmt" func main() { ...

7
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
12.05.2011, 12:00 #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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <cctype>
 
void f(char *str);
 
int main(int argc, char *argv[])
{
    char a[] = "asd asd er weds f sdfscv xc xcv xfdfsd  fhjh kjku.";
    
    f(a);
             
    system("PAUSE");
    return EXIT_SUCCESS;
}
void f(char *str)
{
    char c;
    int k=strlen(str);
    for(int i=0; i<k; i++)
    {
        if(isalpha(str[i]) && str[i-1]==' ' || str[i-1]==0)
        {
            c=toupper(str[i]);
            str[i] = c;            
        }
    }
    std::cout << str << "\n";
}
1
eXXXXXXXXXXX
30 / 30 / 3
Регистрация: 24.02.2011
Сообщений: 126
12.05.2011, 12:32 #3
for(int i=0; i<k; i++)
{
if(isalpha(str[i]) && str[i-1]==' ' || str[i-1]==0)
{
c=toupper(str[i]);
str[i] = c;
}
}
Вот не надо так писать)
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
12.05.2011, 12:35 #4
eXXXXXXXXXXX, почему? можете объяснить?
0
eXXXXXXXXXXX
30 / 30 / 3
Регистрация: 24.02.2011
Сообщений: 126
12.05.2011, 12:38 #5
grrrrr, ну вы обращаетесь к адресу str-1, там может быть что угодно, и ещё, первая буква первого слова не становится прописной)

Добавлено через 1 минуту
Цитата Сообщение от grrrrr Посмотреть сообщение
str[i-1]==0
а зачем эта проверка?
можно написать так:
C++
1
2
3
4
5
6
7
8
9
10
11
    for(int i=0; i<k; i++)
    {
        if(isalpha(str[i]))
        {
            if (i==0 ||  str[i-1]==' ')
            {
                    c=toupper(str[i]);
                    str[i] = c;           
            } 
        }
    }
2
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
12.05.2011, 13:08 #6
У меня на выходе, первая буква - прописная. А писал так, потому что видел где-то подобный пример. Ваш пример мне нравится - более читаем что ли. =)
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
12.05.2011, 13:29 #7
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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define DELIM " ,.?!:;"
 
void func(char* s)
{
    while(*s)
    {
        if(!strchr(DELIM, *s))
        {
            *s = toupper(*s);
            do ++s; while(*s && !strchr(DELIM, *s));
        }
        else ++s;
    }
}
 
int main()
{
    char str[256];
 
    gets(str);
    func(str);
    puts(str);
 
    return 0;
}
2
Хитрый_КОТ
3 / 3 / 1
Регистрация: 21.11.2010
Сообщений: 30
26.05.2011, 00:08 #8
А еще как в русском тексте такую функцию реализовать, а то он только с английским работает только
0
26.05.2011, 00:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 00:08
Привет! Вот еще темы с ответами:

Задача по теме Двумерные массивы - C++
Помогите выбрать правильный вариант в этой задаче. Заранее спасибо. 1. Задачи необходимо переписывать в текст сообщения. 2. Язык...

Задачи по теме «Целочисленная арифметика - C++
Дано натуральное число n &lt; 99. Дописать к нему цифру k в конец и в начало. С++

Задача по теме карта (map) - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;map&gt; #include &lt;sstream&gt; int main() { ...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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