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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2011, 23:47   #1
Alexander1205
Пользователь
 
Аватар для Alexander1205
 
Регистрация: 22.01.2011
Сообщений: 78
По умолчанию find_symbols

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

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;

void main()
{
char *line = new char[100];
cout<<" Please,enter the line :\n>";
gets(line);
char *symbols = new char;
cout<<" Please,enter the symbols :\n";
gets(symbols);
int count = 0;
while(*line!='\0')
{
if(strstr(line,symbols)!=NULL)
{
line+=strcspn(line,symbols);
count+=strspn(line,symbols);
line+=strspn(line,symbols);
}
else
{
break;
}
}
cout<<" Found "<<count<<" symbols in the line\n\n";
}
Alexander1205 вне форума Ответить с цитированием
Старый 30.03.2011, 14:02   #2
GroZa
Freelancer
Пользователь
 
Аватар для GroZa
 
Регистрация: 29.01.2011
Сообщений: 33
По умолчанию

Такую прогу не надо модифицировать, ее надо удалить и написать нормальную.

Код:
#include <conio.h>
#include <locale.h>
#include <iostream>

void charcount( const char *s, int &bc, int &sc, int &oc )
{	
	bc = 0;
	sc = 0;
	oc = 0;

	while ( *s != NULL )
	{
		if ( ( ( *s >= 'A' ) && ( *s <= 'Z' ) ) || ( ( *s >= 'А' ) && ( *s <= 'Я' ) ) ) bc++; else 
		if ( ( ( *s >= 'a' ) && ( *s <= 'z' ) ) || ( ( *s >= 'а' ) && ( *s <= 'я' ) ) ) sc++; else
		  oc++;
		s++;
	}
}

int main( void )
{
	setlocale( LC_ALL, "russian" );
	
	int bc; // большие буквы
	int sc; // маленькие буквы
	int oc; // остальные символы

	charcount( "НеНАвиЖу КАПСеров!!!111один", bc, sc, oc );

	printf( "Большие: %d; Маленькие: %d; Остальные: %d; Всего: %d", bc, sc, oc, bc+sc+oc );
   
	getch();
}
falax species rerum
GroZa вне форума Ответить с цитированием
Ответ


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