Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 20.03.2008, 11:16   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 18.03.2008
Сообщений: 6
Репутация: 0
Arrow хелп - как сосчитать сколько заглавных букв в предложении?

Помогите с кодом плиз на си++ - я еще новичок не смог везде разобраться.

Задание:
вводим пару предложений и программа должна сосчитать сколько заглавных букв в предложении.

как это можно сделать? Пример если можно!

спасибо!
XXXAlex вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: кофемашина garlyn l2000легенда фильм 2015 скачатьgorenje whe 72 sfsнасос ups 40-180f 1 х 230v . з-д shuftЗаходите на сайт MebelStol.ru: купить стул кресло в москве - отличные цены и большой выбор!


Старый 21.03.2008, 07:57   #2
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Код:
char text[]="Aaaaaaaa Bbbbbbbb Ccccccc";
int n=0;
for(int i=0;i<strlen(text);i++)
   if(text[i]>='A' && text[i]<='Z')
           n++;
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 31.03.2008, 22:50   #3
flipBoy
Неактивный пользователь
 
Регистрация: 31.03.2008
Сообщений: 5
Репутация: 1
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

В предыдущем примере испльзуется функция strlen столько раз сколько букв в строке, а это стоит времени, достаточно использовать тот факт, что при такой инициализации строки, на конце ставиться знак о коде 0.
char tab[]="AaAaA bBbbbbbb Cccccc";
char *point=tab;
int count=0; // счётчик
while(*point!=0){
if ( (*(point)>='A') && (*(point)<='Z')){
++count;
}
++point;
}
flipBoy вне форума
 
Ответить с цитированием Вверх
Старый 02.04.2008, 18:50   #4
ev_Genius
Новичок
 
Пол:Мужской
Регистрация: 08.09.2006
Сообщений: 28
Репутация: 2
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

И лаконичный код:

char tab[] = "AaAaA bBbbbbbb Cccccc";
int count = 0;
for (char *point = tab; *point; ++point)
{
if ( ((*point) >= 'A') && ((*point) <= 'Z'))
{
++count;
}
}
ev_Genius вне форума
 
Ответить с цитированием Вверх
Старый 21.04.2008, 18:45   #5
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Код:
#include <stdio.h>
#include <ctype.h>

void main()
{
	char Tab[] = "AaAaA bBbbbbbb Cccccc";

	int ucl = 0;
	int idx;

	for (idx = 0; Tab[idx]; ++idx)
	{
		if (isalpha(Tab[idx]) && toupper(Tab[idx]) == Tab[idx])
			ucl++;
	}

	printf("Found %d upper case letters.\n", ucl);
}
Избегайте таких условий if(text[i]>='A' && text[i]<='Z')
это не везде будет работать!
seimur вне форума
 
Ответить с цитированием Вверх
Старый 24.04.2008, 09:17   #6
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Вот ещё более простой вариант:
Код:
#include <stdio.h>
#include <ctype.h>

void main()
{
	char Tab[] = "AaAaA bBbbbbbb Cccccc";

	int ucl = 0;
	int idx;

	for (idx = 0; Tab[idx]; ++idx)
	{
		if ( isupper(Tab[idx]) )
			ucl++;
	}

	printf("Found %d upper case letters.\n", ucl);
}
seimur вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 16:25   #7
picman
Неактивный пользователь
 
Регистрация: 25.05.2007
Сообщений: 13
Репутация: 3
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Цитата:
Сообщение от ev_Genius Посмотреть сообщение
И лаконичный код:

char tab[] = "AaAaA bBbbbbbb Cccccc";
int count = 0;
for (char *point = tab; *point; ++point)
{
if ( ((*point) >= 'A') && ((*point) <= 'Z'))
{
++count;
}
}

А если вводится текст на русском?
picman вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 18:03   #8
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
Wink Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Хороший вопрос.. Но что то я не припомню что бы в домашних работах по программированию просили отнестись к юникоду тем более для начинающих, а вы?
seimur вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 18:40   #9
picman
Неактивный пользователь
 
Регистрация: 25.05.2007
Сообщений: 13
Репутация: 3
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Цитата:
Сообщение от seimur Посмотреть сообщение
Хороший вопрос.. Но что то я не припомню что бы в домашних работах по программированию просили отнестись к юникоду тем более для начинающих, а вы?

Полностью согласен! Но если вместо строки: if(text[i]>='A' && text[i]<='Z') начинающий напишет: if((text[i]>='A' && text[i]<='Z')||(text[i]>='А' && text[i]<='Я')) - это ему зачтется. Разработка алгоритма - это искуство, а кодирование - ремесло.
picman вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 18:49   #10
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
Smile Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Я не совсем понимаю что вы имеете ввиду "зачтёться" но эта проверка на определённых машинах не верна.. для этого есть функции типа isalpha и скорее всего я думаю есть их аналоги для юникода..
seimur вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 20:33   #11
picman
Неактивный пользователь
 
Регистрация: 25.05.2007
Сообщений: 13
Репутация: 3
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Цитата:
Сообщение от seimur Посмотреть сообщение
Я не совсем понимаю что вы имеете ввиду "зачтёться"

"Зачтется" - это значит преподаватель поставит более высокую оценку за решение с дополнительной проверкой, но это не значит, что он не оценит более оптимальный код.

Цитата:
Сообщение от seimur Посмотреть сообщение
но эта проверка на определённых машинах не верна

А вот здесь по подробнее! Например!
Строка: if((text[i]>='A' && text[i]<='Z')||(text[i]>='А' && text[i]<='Я')) "прокатит" даже для 8-ми разраядных микроконтроллеров с объемом памяти команнд 2 кбайта.
picman вне форума
 
Ответить с цитированием Вверх
Старый 06.05.2008, 21:23   #12
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
Smile Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Такие конструкции, как: if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) не эффективны, не говоря уже о нудности их написания и большой вероятности ошибок (На машинах с символьным набором EBCDIC через это сравнение пройдут и не алфовитные символы).
seimur вне форума
 
Ответить с цитированием Вверх
Старый 13.05.2008, 10:25   #13
ungdn
Новичок
 
Пол:Мужской
Регистрация: 08.08.2006
Адрес: Киев
Сообщений: 13
Репутация: 2
По умолчанию Ответ: хелп - как сосчитать сколько заглавных букв в предложении?

Предлагаю заменить знаки ">=" и "<=" на знаки "<" и ">", с замей букв до и после. Конечно более непонятно. Но эти операции по тактам процессора выполняются быстрее.
ungdn вне форума
 
Ответить с цитированием Вверх
Старый 15.10.2008, 15:38   #14
mirag_ga
Новичок
 
Пол:Мужской
Регистрация: 15.10.2008
Сообщений: 10
Репутация: 0
По умолчанию Re: хелп - как сосчитать сколько заглавных букв в предложении?

Перевести все слова в строчные буквы и посчитать количество несовпадений.
mirag_ga вне форума
 
Ответить с цитированием Вверх
Старый 16.10.2008, 20:53   #15
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: хелп - как сосчитать сколько заглавных букв в предложении?

Цитата:
Сообщение от mirag_ga Посмотреть сообщение
Перевести все слова в строчные буквы...

А как Вы это собираетесь сделать?
__________________
Сергей Сергеевич

Последний раз редактировалось zss; 18.10.2008 в 20:20..
zss вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложи свой ник из японских букв! ilia Архив Юмора 418 25.07.2016 17:57
Сколько км проходит двигатель просле расточки, а сколько если ему поменять кольца TankoSP Автосервис 40 21.02.2014 12:46
Изменить расположение букв на клавиатуре? xxxpirat Mac Os X 10 02.06.2011 22:48
Как сосчитать одинаковые записи в БД. hack Delphi 6 17.02.2010 11:36
Помогите(сдавать срочно)-Сосчитать Гласные и Согласные в словах(код внутри) XXXAlex Visual C++ / С/C++ 6 03.05.2008 01:53

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:37. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.07232 секунды с 13 запросами