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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2022, 18:35   #1
Миша2003
Пользователь
 
Регистрация: 07.03.2022
Сообщений: 11
Восклицание Задачка с массивами

Нужно посчитать элементы в массиве так, чтобы вывести количество таких элементов, количество цифр в которых нечетно. Например, есть массив A[4] = {104, 21, 4561, 100}.
Элементы "104", "100" состоят из трех цифр, (104 - 1, 0, 4 и 100 - 1, 0, 0), следовательно количество их цифр нечетно. Программа должна выводить количество таких элементов, с данным массивом ответ будет равен двум. Я смог написать код на python, он выглядит как-то так:
Код:
a = [50, -12345, 423, 6576]
count = 0
for i in a:
    count_of_number = 0
    c = abs(i)
    while c > 0:
        c = c // 10
        count_of_number = count_of_number + 1
    if (count_of_number % 2 != 0) and (count_of_number != 1):
        count += 1
print (count)
Теперь нужно реализовать его в С++. Но у меня не получается, помогите пожалуйста, заранее спасибо

Последний раз редактировалось BDA; 17.03.2022 в 19:10.
Миша2003 вне форума Ответить с цитированием
Старый 17.03.2022, 21:57   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Для подсчёта числа цифр в числе можно сделать так:
Код:
a = [50, -12345, 423, 6576]
count = 0
for i in a:
    count_of_number = 0
    c = len(str(abs(i)))  # длина модуля числа, преобразованного в строку
    if (c % 2 != 0) and (c != 1):
        count += 1
print (count)
Для С++
Опишите массив и инициализируйте его
Так же в цикле, выбор элемента -> abs(M[i]) -> Преобразовать в строку -> Получить длину strlen()
Остальное вроде как можно оставить.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C , задачка FileLose Фриланс 10 01.12.2016 18:46
задачка dacar_goody Паскаль, Turbo Pascal, PascalABC.NET 1 31.03.2014 19:14
Задачка spirit0k Общие вопросы C/C++ 7 11.11.2008 17:36
Паскаль. Задачка с массивами. ProPaL Помощь студентам 4 11.11.2007 18:58