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

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

Войти
Регистрация
Восстановить пароль
 
 
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

Счет чисел в массиве - C++

17.07.2009, 17:21. Просмотров 1038. Ответов 17
Метки нет (Все метки)

Здравствуйте! Мой счетчик что то не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    const int size=255;
    char c[size];
    int k, i, j, count;
    count=0;
        
    cout << "Enter text:\n";
    cin.getline(c, size);
    k=strlen(c);    
    
    for(i=0; i<k; i++)
    {
          for(j=0; j<10; j++)
          {
                   if(c[j] == i) 
                       count++;
          }  
    }
    cout << "Kol-vo chisel = " << count << "\n";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2009, 17:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Счет чисел в массиве (C++):

Как сделать счет чисел с конца файла - C++
Hello, world! Возник такой вопрос, как сделать счет чисел с конца? Имеется ввод периода. :) Заранее Спасибо Добавлено через 36...

В упорядоченном массиве целых чисел a(i) (i=1….n) найти номер находящегося в массиве элемента C, используя ме - C++
помогите переделать код с обычной функцией в код с рекурсией #include &lt;iostream&gt; using namespace std; #include &lt;stdio.h&gt; #define...

Проверить, есть ли в массиве А [n] числа В и С и определить, какое из чисел встречается в массиве чаще - C++
1. Проверить, есть ли в массиве А числа В и С и определить, какое из чисел встречается в массиве чаще.

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") - C++
Описать структуру с именем &quot;ORDER&quot;, содержащий следующие поля: &quot;Счет плательщика&quot;; &quot;Счет получателя&quot;; &quot;Сумма, переводится банковской...

Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из них встречается в массиве. - C++
Написать программу для решения следующей задачи. Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из...

Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве - C++
1. Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в...

17
Sekt
157 / 156 / 10
Регистрация: 29.04.2009
Сообщений: 637
17.07.2009, 17:27 #2
Что означает j<10;
И можно конкретней условие?
0
RazorQ
581 / 348 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
17.07.2009, 17:28 #3
Переменные надо инициализировать перед использованием
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
17.07.2009, 17:31  [ТС] #4
Цитата Сообщение от Sekt Посмотреть сообщение
Что означает j<10;
И можно конкретней условие?
j у меня чилса от 0 до 9. Я сравниваю каждый символ с j. Но это не правильно наверное, ведь есть числа и двух- и трехзначные и т.д., а мой счетчик считает каждую цифру.
0
RazorQ
581 / 348 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
17.07.2009, 17:34 #5
А если использовать функцию atoi(). В качестве параметра, строка. Если это число, то возвращает true. Заголовок <cctype>
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
17.07.2009, 17:56  [ТС] #6
RazorQ, У меня есть строка символов. Какие переменные надо инициализировать?

Добавлено через 2 минуты 26 секунд
RazorQ, а бы хотел без функции, т.к. учусь.

Добавлено через 17 минут 19 секунд
Короче, я понял, сегодня Пятница и ни кто мне не поможет!
0
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
17.07.2009, 18:22 #7
имеется в виду кол-во цифр в строке?
C++
1
2
3
4
for( int i=0;i<10;i++)
for(int j=0;j< k;j++)
if(c[j]== i+'0')
count++;
1
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
20.07.2009, 13:12  [ТС] #8
XuTPbIu_MuHTAu, объясните пожалуйста. что значит

C++
1
i + '0'
?
0
Мегатрон
нубик программист)
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
20.07.2009, 13:22 #9
Цитата Сообщение от grrrrr Посмотреть сообщение
Здравствуйте! Мой счетчик что то не работает.


Код C++1234567891011121314151617181920
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
const int size=255;
 char c[size]; 
int k, i, j, count; count=0;
 cout << "Enter text:\n";
 getline(c, size); k=strlen(c); 
 for(i=0; i<k; i++) 
{ for(j=0; j<10; j++)
 { 
if(c[j] == i)
 count++;
 } 
} 
cout << "Kol-vo chisel = " << count << "\n";
C++
1
 
если так
0
mamedovvms
2918 / 839 / 93
Регистрация: 30.04.2009
Сообщений: 2,633
20.07.2009, 14:08 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
 
using namespace std; 
      
      int main()
      {
         
    const int size=255;
    char c[size];
    char ch;
    int k, i, j, count;
    count=0;
        
    cout << "Enter text:\n";
    cin.getline(c, size);
    k=strlen(c);    
    
    for(i=0; i<k; i++)
    {ch=c[i];
     int ch1=static_cast<int>( ch )-48;
          for(j=0; j<10; j++)
          {  if(ch1 == j)
                       count++;
          }  
    }
    cout << "Kol-vo chisel = " << count << "\n";
       
      }
Добавлено через 29 минут 9 секунд
Цитата Сообщение от grrrrr Посмотреть сообщение
RazorQ, а бы хотел без функции, т.к. учусь.
я что то не понял, может еще и без типов и без переменных??????????7
0
ISergey
Maniac
Эксперт С++
1407 / 918 / 57
Регистрация: 02.01.2009
Сообщений: 2,733
Записей в блоге: 1
20.07.2009, 14:15 #11
Что вы здесь на усложняли..
Для подсчёта цыфр.
вот 1 способ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    char str[] = "asd123drfg456gg";
    int count = 0;
 
    for(int i = 0; i < strlen(str); ++i)
        if(isdigit(str[i]))
            ++count;
 
    std::cout << "digit count: " << count << '\n';
 
    return 0;
}
и второй
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <algorithm>
int main()
{
    std::string str = "asd123asd456fggh";
    int count = static_cast<int>(std::count_if(str.begin(), str.end(),isdigit));
    std::cout << "digit count: " << count << '\n';
    return 0;
}
для подсчёта чисел..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
template <typename T>
int count_number(T beg, T end){
    int c_digit = 0;
    int c_number    = 0;
 
    for(; beg != end; ++beg){
        if(isdigit(*beg))
            ++c_digit;
        else {
            if(c_digit)
                ++c_number;
            c_digit = 0;
        }
    }
    if(c_digit)
        ++c_number;
 
    return c_number;
}
int main()
{
    std::string str = "123asd456asd789fggh10gj11";
    std::cout << "number count: " << count_number(str.begin(), str.end()) << '\n';
 
    char st[] = "123asd456asd789fggh10gj11";
    int len = strlen(st);
    std::cout << "number count: " << count_number(st, st + len) << '\n';
 
    return 0;
}
0
RazorQ
581 / 348 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 15:37 #12
grrrrr, если есть такое определение
C
1
2
char ch;
int i = 5;
то после
C
1
ch = i + '0';
в ch будет храниться 5.
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
20.07.2009, 16:30  [ТС] #13
RazorQ, я понял что это значит! это преобразование. т.е. i+'0' сравнивает символ с символом, без '0' будет сравнение символа с числом. Я правильно понял?
0
XuTPbIu_MuHTAu
Эксперт С++
2234 / 749 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
20.07.2009, 16:50 #14
RazorQ, не будет там храниться пять. Вообще забудьте про символы,их нету. Нету и все. '0'- это число(число типа char.char - численный знаковый тип.) , которому сопоставлено отображение нуля на экране. В кодировке аски коды символов от нуля до девяти идут подряд. Поэтому код символа 1 - это код нуля плюс один и так далее.
1
AnonymC
1175 / 458 / 30
Регистрация: 23.06.2009
Сообщений: 6,355
Завершенные тесты: 1
20.07.2009, 16:53 #15
попробуй for заменить на while
0
20.07.2009, 16:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2009, 16:53
Привет! Вот еще темы с ответами:

В массиве целых чисел найти и распечатать все пары одинаковых чисел - C++
В массиве целых чисел найти и распечатать все пары одинаковых чисел. За помощь буду очень благодарен. //В массиве целых чисел найти...

В массиве целых чисел найти количество чисел с наименьшим количеством цифр - C++
9. В массиве целых чисел найти количество чисел с наименьшим количеством цифр. Например, в массиве {123, 34, 56, 1000, 20, 55000, 777,...

Найти 10 наибольших чисел в массиве из 10000 чисел и записать в массив - C++
Есть массив положительных чисел (значение каждого числа не превышает 3000). Найти 10 наибольших чисел и записать в массив arr. ...

Найти сколько чисел в массиве больше суммы или меньше разности чисел - C++
Помогите решить задачу в С++. Нужно сформировать двумерный массив А(5,6) и заполнить его случайными числами. Ввести целые числа F и T....


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

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

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