Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
elvenpath
0 / 0 / 1
Регистрация: 04.10.2015
Сообщений: 14
#1

Нужно подсчитать количество цифер в массиве - C++

04.10.2015, 00:18. Просмотров 202. Ответов 3
Метки нет (Все метки)

Есть массив mas[n],в котором находится последовательность чисел,нужно подсчитать сколько цифер в массиве до опр.элемента ,если число 1значное ,то 1 цифра,если 2х значное то 2 и т.д. (i=0;p=10.Я использовал примерно такой код,но цикл почему то не заканчивается после запуска.Где я накосячил?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
do
{
b=mas[i]/10.0;
if(b>1)
{
l=l+2;
}
else
{
l++;
i++;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2015, 00:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужно подсчитать количество цифер в массиве (C++):

Подсчитать количество положительных и отрицательных чисел и количество нулей в массиве
Имеется массив А из N произвольных чисел. Используя, операторы цикла составить...

Подсчитать количество нулей в массиве
Хайль, пипль!Снова прошу помощи. Заранее спасибо, кто поможет. мне необходимо...

Подсчитать количество нулей в массиве
Дан массив заполненный случайным образом нулями и единицами. определить номер...

Подсчитать количество символов ‘а’ в массиве
Дана матрица 5х7, элементами которой являются значения символьного типа....

Подсчитать количество нулевых элементов в массиве
Народ кто нибудь знает как делать? Подсчитать количество нулевых элементов в...

Подсчитать в массиве количество элементов кратных трем
Заданы два массива A(N) и B(M). Подсчитать в них количество элементов, кратных...

3
Barrent
246 / 122 / 54
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
04.10.2015, 00:31 #2
Где условие выхода из цикла?
C++
1
2
3
do{
//операторы
}while(условие)
Добавлено через 6 минут
Вы забыли увеличить i при нахождении двузначного числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    int b;
    int mas[]{ 1,22,3,44,5,66,7,88,9,10 };
    int l;
    int i = 0;
    do {
        b = mas[i] / 10.0;
        if (b > 0)
            l = l + 2;
        else
            l++;
        i++;
    } while (i < sizeof(mas) / sizeof(mas[0]));
    cout << l << endl;
0
ValeryS
Модератор
7124 / 5392 / 669
Регистрация: 14.02.2011
Сообщений: 18,200
04.10.2015, 00:44 #3
Лучший ответ Сообщение было отмечено elvenpath как решение

Решение

а если число трехзначное или там четырех?
предлагаю свой вариант два цикла, один идет по массиву другой считает цифры
C++
1
2
3
4
5
6
7
8
9
for(int i=0;i<n;i++)
{
int tmp=arr[i];
do
{
 l++;
 tmp/=10;
}while(tmp)
}
Добавлено через 2 минуты
Цитата Сообщение от elvenpath Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
b=mas[i]/10.0;
if(b>1)
{
l=l+2;
}
else
{
l++;
i++;
}
число 11 посчитает как одну цифру
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
04.10.2015, 00:45 #4

Не по теме:

Цитата Сообщение от Barrent Посмотреть сообщение
int l;
int l=0;



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
 
using namespace std;
 
 
 
int main(){
        int sum=0;
    int mas[]{-10,908,809};
 
    for (const auto &i:mas)
            i?  sum+=log10(abs(i))+1  :  sum++;
 
    cout<<sum<<"\n";
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2015, 00:45
Привет! Вот еще темы с решениями:

В массиве изменить элементы по условию и подсчитать количество
26. В векторе X изменить значения положительных элементов, умножив на В, а...

В упорядоченном по возрастанию массиве подсчитать количество элементов
В упорядоченном по возрастанию массиве подсчитать количество элементов,...

Подсчитать количество различных по значению элементов в массиве
Дан одномерный массив x, состоящий из 20 целых чисел. Составить...

Найти максимальный элемент в массиве и подсчитать количество
Найти максимальный по модулю элемент в массиве и подсчитать количество...


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

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

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