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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 10:47   #1
kosikdr
Новичок
Джуниор
 
Регистрация: 12.11.2010
Сообщений: 1
По умолчанию присвоение переменной подсчет совпадений в строке

В связи с тем что нет исходника в изложенной теме:
http://programmersforum.ru/showthread.php?t=121437

прозьба оказать помощь.

Задача стоит такая: Задать с клавиатуры строку например...
asddfvxvxdasz
вводим во второй строке что нужно искать:
as
получаем 2 раза.
В классе давали пример.

Код:
#include "stdafx.h"
#include <iostream>
#include "string.h"

using namespace std;
int countChars(char *s, char ch);

int _tmain(int argc, _TCHAR* argv[])
{
	int N;
		N=80;
	char *str=new char[N];
	cin>>str;
	//cout<<countChars(str,'A')<<endl; 
	cout<<countChars(str,'1')<<endl;
	cout<<countChars(str,'2')<<endl;
	delete[]str;
	return 0;
}
int countChars(char *s, char ch)
{
	int numChars=0,i=0;
		while (s[i] !='\0')
	{
		if(ch == s[i])
	numChars++;
i++;
	}
	
return numChars;


}
cout<<countChars(str,'1')<<endl; - Считает сколько цифр 1 было введенной строке. Вот и заключается вопрос как присвоить к этому значению переменную вводимую с клавиатуры?

Последний раз редактировалось kosikdr; 12.11.2010 в 15:01.
kosikdr вне форума Ответить с цитированием
Старый 12.11.2010, 17:52   #2
nowaalex
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 59
По умолчанию

Код:
char inputSymbol;
char * string = new char[ 100 ];
cout<<"Enter the string: ";
cin>>string;
cout<<"Enter the symbol to search: ";
cin>>inputSymbol;
И этот inputSymbol передаёте как аргумент в Вашу функцию( вместо '1' или '2' ).

И еще на заметку))
Функцию countChars можно было бы реализовать проще:
Код:
unsigned int countChars( char *where, char what )
{
    unsigned int result = 0;
    for( ; *where; *where++ )
        if( *where == what )
            result++;
    return result;
}
Дело в том, что по строке можно перемещаться не только с помощью какой-нибудь переменной типа int, служащей счетчиком. Гораздо проще и эффективнее использовать указатель на строку. К примеру, если:
Код:
char * string = "12345";
, то string будет равно "12345", а *string будет равно "1". И указатель на строку тоже, как и int, можно инкрементировать. Удачи!

Последний раз редактировалось nowaalex; 12.11.2010 в 18:03.
nowaalex вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоение переменной значения из массива Maxx Microsoft Office Excel 4 21.07.2010 13:53
Присвоение переменной gajubas PHP 1 21.04.2010 20:18
Присвоение и передача значения переменной из HTML в PHP alexscorp1661 Помощь студентам 1 18.04.2010 11:33
Присвоение результата запроса, переменной Droid БД в Delphi 3 13.04.2010 16:34
присвоение переменной текущей даты KaimNotark Помощь студентам 1 29.01.2010 08:17