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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.04.2009, 00:30   #1
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию Подсчёт пробелов в ведённой строке

Подскажите пожалуйста, мне нужно подсчитать количество пробелов в строке. Вот написал код, не могу вывести на метку, выдаёт ошибку

Код:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
char stroka [80];
// получение строки от пользователя
gets(stroka) ;
 // сначала количество пробелов = 0
// подсчет пробелов
int i = 0;
for (int i = 0; i < strlen(stroka); i++) //strlen - возвращает длину строки
{

switch (stroka[i])
{
case ' ': stroka;
 i = Edit1->Text;
break;

}
prikolist вне форума
Старый 10.04.2009, 00:52   #2
Pashan
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 89
По умолчанию

Код:
int i = 0;
for (int i = 0; i < strlen(stroka); i++)
Тебя не смущают две переменных i?
Код:
switch (stroka[i])
{
case ' ': stroka;
 i = Edit1->Text;
break;
Вообще бред какой-то. Что под ты хотел этим написать?

Может, вместо этого
Код:
if (stroka[i] == ' ')
  count++;
Pashan вне форума
Старый 10.04.2009, 12:26   #3
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Хорошо,а вот так. У меня только проблемма в том,что результат не выводится в метку. Код ниже:

Код:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
char stroka [80];
// получение строки от пользователя
gets(stroka) ;
 // сначала количество пробелов = 0
// подсчет пробелов
int k = 0;
for (int i = 0; i < strlen(stroka); i++) //strlen - возвращает длину строки
{
if (stroka[i] == ' ')
  k++;
}
k = Label9->Caption;
}
prikolist вне форума
Старый 10.04.2009, 12:39   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Посмотрите на строчку
Код:
k = Label9->Caption;
А теперь подумайте как работает оператор присваивания, и что вы тут написали
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 10.04.2009, 12:42   #5
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Подскажите на будущее как правильно. Присваиванеи вроде так происходит,не знаю,вроде всегда так писал.
prikolist вне форума
Старый 10.04.2009, 12:48   #6
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

prikolist, вы создали уже много тем с элементарными вопросами, неужели трудно просто ВНИМАТЕЛЬНО прочитать книгу (или что вы там читаете). Вы пытаетесь сделать что-то более сложное, не зная азов, и чуть что не получается - бежите на форум. Так не делается. Если вы хотите действительно изучить программирование - выучите хотя бы операторы языка и правила, по которым они работают
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 10.04.2009 в 12:51.
Blade вне форума
Старый 10.04.2009, 12:50   #7
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Подскажите пожалуйста в чём ошибка в выражении k = Label9->Caption; Может преобразования необходимо сделать?
Заранне благодарен.
prikolist вне форума
Старый 10.04.2009, 12:54   #8
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от prikolist Посмотреть сообщение
Подскажите пожалуйста в чём ошибка в выражении k = Label9->Caption; Может преобразования необходимо сделать?
Заранне благодарен.
Ну я же сказал в чем - в том что вы не знаете как работает оператор присваивания. Преобразование тоже надо сделать, но для начало надо разобраться с присваиванием
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 10.04.2009, 12:56   #9
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Вот так вроде,но подсчёт постоянно равен нулю.

Код:
 Label9->Caption = "Количество пробелов = " + IntToStr(k);
prikolist вне форума
Старый 10.04.2009, 14:18   #10
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Оказвавается вот так.

Код:
void __fastcall TForm1::Button3Click(TObject *Sender)
{

    AnsiString stroka ;// получение строки от пользователя
    stroka = Edit6->Text;
    // сначала количество пробелов = 0
    // подсчет пробелов
    int k = 0;
    for (int i = 1/*-!!!-*/; i < stroka.Length(); i++) // .Length()- возвращает длину строки
    {
      if (stroka[i] == ' ')
      k++;
    }
 
    Label9->Caption = "Количество пробелов = " + IntToStr(k);
}
prikolist вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление лишних пробелов. Ввод/вывод в файл. Иван 883 Помощь студентам 13 31.03.2009 19:39
Замена пробелов на %20 LLIypLLIyH Помощь студентам 4 12.02.2009 21:04
Строки(удаление пробелов). C language SuccEssoR Помощь студентам 4 15.01.2009 17:13
несколько пробелов заменить одним пробелом Андрю)(@ Помощь студентам 4 10.11.2008 14:56
Подсчёт трафика Альберт Работа с сетью в Delphi 2 10.09.2007 11:35