Форум программистов, компьютерный форум CyberForum.ru

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

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

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

17.07.2009, 17:21. Просмотров 962. Ответов 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";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2009, 17:21     Счет чисел в массиве
Посмотрите здесь:

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

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

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

Как с использованием итераторов в массиве чисел найти количество чисел, меньших за введенное? - C++
Как при помощи итераторов в массиве чисел найти количество чисел, меньших за введенное?

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

В заданном массиве целых чисел найти все пары чисел, удовлетворяющих условию - C++
Дан массив целых чисел а0, ..., аn-1. Найти все пары (аi, аi+1), такие, что аi = 0 и аi+1 кратно 2.

В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5 - C++
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5. Сап, форумчане.

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

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

Добавлено через 17 минут 19 секунд
Короче, я понял, сегодня Пятница и ни кто мне не поможет!
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
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++;
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
20.07.2009, 13:12  [ТС]     Счет чисел в массиве #8
XuTPbIu_MuHTAu, объясните пожалуйста. что значит

C++
1
i + '0'
?
Мегатрон
нубик программист)
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 355
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
 
если так
mamedovvms
2916 / 837 / 93
Регистрация: 30.04.2009
Сообщений: 2,624
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
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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;
}
RazorQ
577 / 344 / 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.
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
20.07.2009, 16:30  [ТС]     Счет чисел в массиве #13
RazorQ, я понял что это значит! это преобразование. т.е. i+'0' сравнивает символ с символом, без '0' будет сравнение символа с числом. Я правильно понял?
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
20.07.2009, 16:50     Счет чисел в массиве #14
RazorQ, не будет там храниться пять. Вообще забудьте про символы,их нету. Нету и все. '0'- это число(число типа char.char - численный знаковый тип.) , которому сопоставлено отображение нуля на экране. В кодировке аски коды символов от нуля до девяти идут подряд. Поэтому код символа 1 - это код нуля плюс один и так далее.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
20.07.2009, 16:53     Счет чисел в массиве #15
попробуй for заменить на while
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
20.07.2009, 17:09     Счет чисел в массиве #16
Цитата Сообщение от @lex Посмотреть сообщение
попробуй for заменить на while
это кому было адресовано?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
20.07.2009, 17:15     Счет чисел в массиве #17
ISergey, автору темы...я вместо фор в счетчиках вайл использую
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2009, 17:25     Счет чисел в массиве
Еще ссылки по теме:

Количество отрицательных чисел в массиве из 16 целых чисел - C++
Код на СИ, определяющий кол-во отрицательных чисел в массиве из 16 целых чисел, и если их больше половины массива, меняющий местами первые...

В одномерном массиве целых чисел содержится два нулевых значения. Подсчитать сумму чисел, заключённых между двумя нулями. - C++
В одномерном массиве целых чисел содержится два нулевых значения. Подсчитать сумму чисел, заключённых между двумя нулями. Если можно с...

Дано произвольный одномерный массив целых чисел М и натуральное число n. Определить, если такие есть, количество чисел n в массиве М и их индексы - C++
Ребята,помогите с заданием: Дано произвольный одномерный массив целых чисел М и натуральное число n. Определить, если такие есть,...

Найти в массиве сумму максимума среди чисел с нечетными номерами и минимума среди чисел с четными номерами - C++
Найти сумму наибольшего значения среди чисел с нечетными номерами и наименьшего значения среди чисел с четными номерами тест ...

Подсчет чисел в массиве - C++
Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Подсчитать в нем количество чисел, которые встречаются ровно 2 раза....


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

Или воспользуйтесь поиском по форуму:
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
20.07.2009, 17:25  [ТС]     Счет чисел в массиве #18
Всем спасибо! Вопрос решен!
Yandex
Объявления
20.07.2009, 17:25     Счет чисел в массиве
Ответ Создать тему
Опции темы

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