Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2018, 13:13   #1
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
Вопрос обработка символьной информации

здравствуйте!

Текст не содержащий собственных имен и сокращений, набран с использованием
прописных и строчных русских букв. Проверить то, что все фразы (и только они)
начинаются с прописной буквы. При необходимости откорректировать текст.


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

Код:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <ctype.h>
#include <string.h>
#define N 256

int main()
{
    setlocale(LC_ALL,"rus");
    char *str = malloc(10*N*sizeof(char));
    fgets(str, 10*N, stdin);
    for (int i = 0; i < strlen(str); i++) {
        if (*str == ' ' && isalpha(*(str + 1)) && isupper(*(str + 1))) {
            char *temp;
            temp = tolower(*(str + 1));
            *(str + 1) = temp;
    }
    }
    printf("\n");
    puts(str);
    return 0;
}
вот мой пробный код, даже еще не совсем доделанный. но я уже по-моему сделал что-то не то
прошу вашей помощи

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 05.10.2018 в 13:21.
Алексей9912 вне форума Ответить с цитированием
Старый 05.10.2018, 14:46   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

str + 1 выйдет за границы массива.
waleri вне форума Ответить с цитированием
Старый 05.10.2018, 15:38   #3
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
По умолчанию

спасибо, да, точно, но проблема не в том. а в том, что цикл не проходит совсем. или я неправильно его делаю. не знаю. по идее ж аутпут должен быть строчными буквами. я как ввел какую-то белеберду на капслоке, так оно и вывелось на капслоке
Алексей9912 вне форума Ответить с цитированием
Старый 05.10.2018, 17:01   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

У вас str никогда не меняется т.е. всегда первый символ в работе.
Надо str[i]
temp зачем-то указатель, хотя должен быть просто char.
waleri вне форума Ответить с цитированием
Старый 09.10.2018, 12:28   #5
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
По умолчанию

точно, спасибо. я понял, в чем еще была моя проблема. и это настолько глупо, что мне аж стыдно за себя. я в коде прописал, что нужно делать замену после пробела, но при проверке вводом я этих пробелов не делал и соответственно подумал что мой код не работает. вот так я усложняю себе жизнь...(
Алексей9912 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка символьной информации Anastasia Lisutina Помощь студентам 0 21.11.2017 00:01
Си. Обработка символьной информации Амэ Помощь студентам 0 17.04.2014 09:41
Обработка символьной информации Kochulab Паскаль, Turbo Pascal, PascalABC.NET 0 09.12.2011 21:36
C++.обработка символьной информации Vladka2 Фриланс 2 10.01.2010 02:25
Обработка символьной информации (C++) madduck Помощь студентам 1 19.12.2009 02:05