Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wisdom
0 / 0 / 0
Регистрация: 30.05.2016
#1

Как правильно реализовать поиск количества заданого символа - C++

06.04.2009, 12:15. Просмотров 500. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
Вообщем имеется такой код, в котором нужно найти количество символа а , правильно ли будет так реализовать ?
Если правильно , то еще вопрос , при первом же проходе цикла переменная і почемуто присваивает значение 9, как "заставить" цикл нормально работать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void main()
{
  char * symbline = "aaanjfbrie"; 
  int linelength = strlen(symbLine)
  int findsymbcount()
  {
    int count = 0;
    for ( int i = 0; i < linelength - 1; i++)
    {
        if (symbLine[i] == 'a')
        {
            count = count + 1;
        }
    }
    return count;
  }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2009, 12:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно реализовать поиск количества заданого символа (C++):

Поиск заданого числа в массиве - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char** argv) { int n,b; ...

Как реализовать движение символа по экрану? ncurses.h - C++
Здравствуйте, друзья! Нужна помощь с ncurses. Подскажите пожалуйста, как реализовать движение символа по экрану? Т.е. как в...

Как реализовать нахождение количества членов полинома? - C++
Задача такая... Ввести e(точность, например 0,0012), m(кол-во членов полинома, например 25) и x (например 3). Вычислить значение ...

Передача неизвестного количества аргументов в функцию, как реализовать? - C++
Вот есть функция и в нее будут передаваться какие-то аргументы, причем заранее не известен их тип и количество (там уже в зависимости от...

Как осуществляется поиск символа в строке? - C++
Объясните пожалуйста как осуществляется поиск символа в строке?алгоритм какой ?

Как правильно реализовать полиморфизм? - C++
Имеется такая иерархия классов //classes.h class CL1 { private: int x; virtual char c;

4
YurA_280784
Заблокирован
06.04.2009, 12:37 #2
Сделай лучше так...
void main()
{
char * symbline = "aaanjfbrie";
int nCount = 0;
while(symbLine)
{
if(symbLine[0] == 'a')
nCount++;
if(symbLine)
symbLine++;
else
break;
}
}
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
06.04.2009, 12:41 #3
вот так вот правильней... в твоем коде:
1. не вызывалась функция
2. функция проходила на один символ меньше
3. была ошибка: Си++ чувствителен к регистру.. symbLine - это не symbline

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int findsymbcount(char *str, int size)
{
  int count = 0;
  
  for (int i = 0; i < size; i++)
    if (str[i] == 'a') count++;
  
  return count;
}
  
void main()
{
  char * symbline = "aaanjfbriea"; 
  int linelength = strlen(symbline);
  
  cout << "Count = " << findsymbcount(symbline,linelength);
  system("pause");
}
1
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
06.04.2009, 12:47 #4
Можно еще так оформить.
C
1
2
3
4
5
6
7
8
9
int nchar(char *s, int c)
{
    int count = 0;
    while( (s = strchr(s, c)) != NULL ) {
        count++;
        s++;
    }
    return count;
}
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
07.04.2009, 02:54 #5
если strchr(s, c) вводишь, то нужно подключить string.h, иначе она может определиться как возвращающая int

ещё вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
/* CountCharLine:  считает в строке l количество символов ch */
int CountCharLine(const char *l, int ch)
{
    int n;
    
    if (l == NULL)
        return EOF;
    for (n = 0; *l; l++)
        if (*l == ch)
            n++;
    return n;
}
0
07.04.2009, 02:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2009, 02:54
Привет! Вот еще темы с ответами:

Как правильно реализовать класс? - C++
Вопрос первый при реализации классов на java, я для каждого класса создавал новый файл, как это лучше реализовать в c++ есть ли возможность...

Как реализовать удаление заданного количества элементов из начала массива структур? - C++
Дано: структура содержащяя фамилию, возраст, рейтинг Что не получается: организовать удаление некоторое количество элементов из начала...

Как правильно реализовать обобщённый класс? - C++
хочу создать класс class MyGenericClass&lt;T&gt; Ругается на эту T. убрать не вариант,нужна дальше

Как правильно реализовать множественное наследование? - C++
Всем привет. Нужна помощь. Вот смотрите. Имеется простой класс. От него порождаются два класса-наследника. А от этих двух классов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.