Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа C++, ОБРАБОТКА ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ 
:(
    Опции темы
Guliya
Дата 13.11.2012, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.11.2012

Репутация: нет
Всего: нет



Определить, равно ли количество слов в тексте, начинающихся с прописной буквы, значению целого числа, стоящего в начале строки.
Делала попытки написать данную программу, но не работает. 
Код

#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <string>
#include <iostream>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int str_ch(int);
void main()
{
char q;
int p, n;
printf("\nRabota 6. cikli s usloviem okonchaniya");
printf("\p=");
scanf("%c",&q);
p=q-'0';
n=str_ch(p);
}

int str_ch(int p)
  {
   int n=2,f=0,k=0;
   char c=' ',c1= ' ' ,str;
   printf("\n vvedite text");
   scanf("%c",&str);
   while (c!='.')
   {
    scanf("/n%c",&c);
    if (c1==' ')
     {
      if ( c1 == ' ' && c >= 'A' && c <= 'Z')
      {       
      k++;
      }
              
     }
        c1=c;
   }
        if(k==p)
        printf( "\n yes");
        else
        printf( "\n no");

return(n-1);
}


Это сообщение отредактировал(а) Guliya - 13.11.2012, 13:06
PM MAIL   Вверх
Annuta
Дата 13.11.2012, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



Попробуйте это, у меня работает.
Код

// #include <vcl.h>
// #include <conio.h>
#include <stdio.h>
#include <string>
#include <iostream>
#pragma hdrstop

//---------------------------------------------------------------------------
#pragma argsused
int str_ch(int);
int main()
{
    char q;
    int p, n;
        printf("\nRabota 6. cikli s usloviem okonchaniya");
        printf("\p=");
    scanf("%c",&q);
    p=q-'0';
    n=str_ch(p);
    
    return 0;
}

int str_ch(int p)
{
   int n=2,f=0,k=0;
   char c, c1=' ', str;
   
    printf("\n vvedite text");
    while (str != '\n')
        scanf("%c", &str);
    
    while (c != '\n')
    {
       scanf("%c",&c);

        if (c == ' ')
        {
            scanf("%c",&c1);
            if(islower(c1))
            {
                k++;
                printf("\n ne zagl %c %d \n", c1, k);
            }
        }
   }
        printf("Result %d %d \n", p, k);
        if(k==p)
            printf( "Yes \n");
        else
            printf( "No \n");
    return(n-1);
}

--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
borisbn
Дата 13.11.2012, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Девушки... Во-первых, в сабже сказано, что программа д.б. на Си++, а у вас на чистом Си... Во-вторых, а если я захочу ввести количество слов больше 9 ?
В общем, вот - ловите, допиливайте
Код
#include <iostream>
int main()
{
    std::cout << "Enter count, then words or Ctrl+Z to exit" << std::endl;
    int needCount;
    std::cin >> needCount;
    int count = 0;
    while ( std::cin.good() )
    {
        std::string word;
        std::cin >> word;
        if ( ! word.empty() && toupper( word.at( 0 ) ) == word.at( 0 ) )
        {
            count++;
        }
    }
    std::cout << ( ( count == needCount ) ? "" : "not " ) << "equal" << std::endl;
}



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Guliya
Дата 13.11.2012, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.11.2012

Репутация: нет
Всего: нет



Annuta, спасибо, программа запускается, а Yes и No не выводит, как ты программу проверяла, у тебя выводило? 
PM MAIL   Вверх
Annuta
Дата 13.11.2012, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



Guliya
Ну проверь, там всё не сложно, посмотри какие значения будут у k и p 
Код

 printf("Result %d %d \n", p, k);

И потом ориентируйся !

borisbn, очень красивое и правильное решение, но для новичка - слишком много новой информации, и зачем stl тут можно ведь и проще сделать smile 
--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
volatile
Дата 14.11.2012, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Эх borisbn, ну вы и загнули с стл smile
с девушками надо быть проще   
К тому-же в вашем коде совсем нет чаров, состоящих из стрингов...


Это сообщение отредактировал(а) volatile - 14.11.2012, 00:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.