Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 34
1

Количество нулей в записи числа

05.06.2011, 14:54. Показов 4261. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста написать эдакое...
Дано натуральное число n. Подсчитать количество нулей в записи данного числа в десятичной системе счисления.
На С# написал примерно, а на С++ немогу... Вот код на с#, мож кто сможет переделать в с++?
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string n = textBox1.Text;
            int i = 0;
            foreach (char c in n)
            {
                if (c == '0')
                {
                    ++i;
                }
            }
            label1.Text = "Количество нулей: " + i;
        } } }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2011, 14:54
Ответы с готовыми решениями:

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах
#include <iostream> #include<conio.h> main() { setlocale(LC_ALL, "Russian"); int N,digit = 0; int count = 0; std::...

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах
Дано натуральное число N (N > 9). Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах. Пример. N = 10 025...

Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах (Pascal -> С++)
Var i: longint; N: integer; begin write('input Nomber, pleeeaaase: '); readln(i); N:= 0; while ((i mod 10) = 0) do ...

9
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 14:59 2
Если я правильно понял условие(дается 10ое, надо найти количество нулей в 10ой же системе счисления), то так:
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
#include <iostream>
int main(){
    int a,count=0;
    std::cin >> a;
    if (!a) std::cout << 1;else
        {for (;a;a/=10)
        if (a%10==0) count++;
    std::cout << count;}
    return 0;
}
0
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 34
05.06.2011, 15:04  [ТС] 3
diagon, что-то это как-то слишком сложно.
Мне бы просто циклом простейшим проверить в строке n каждый символ(равен 0 или нет) и чтобы накручивался счетчик i.
P.S. Как для n задать тип string???
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 15:07 4
Это наоборот самое просто решение=)
Если n=0, то сразу же выводим еденицу, иначе потрошим его с конца.
Если остаток от деления числа на 10 равен нулю, то его последняя цифра-нуль. В таком случае увеличиваем счетчик.
Далее делим число на 10, отсекая у него одну цифру, и так до тех пор, пока не порежем все число.
стринг задается
std::string str; (str-имя переменной)
0
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 34
05.06.2011, 15:13  [ТС] 5
diagon, а что значит эта строка? std::cin >> a;
Кстати что-то в C++ билдере этот вариант ниразу не работает.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 15:15 6
Ввод числа а
Вот со стрингами, для больших чисел работает.
Но если не знать STL, то понять это сложновато.
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <sstream>
#include <algorithm>
bool iszero(char x){return (x==48)?true:false;}
int main(){
    std::string str;
    std::cin >> str;
    int count=std::count_if(str.begin(),str.end(),iszero);
    std::cout << count;
    return 0;
}
Кстати что-то в C++ билдере этот вариант ниразу не работает.
Странно... Что пишет?
0
 Аватар для Amarted
158 / 20 / 3
Регистрация: 26.02.2010
Сообщений: 56
05.06.2011, 15:32 7
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string stringNumber;//если смущает можно имя и покороче
    int count = 0; //счётчик
    cin>>stringNumber; //считываем с клавиатуры в нашу строку
    for ( int i = 0; i<stringNumber.size(); ++i) // бональный цикл, как просил
    {
        if ( stringNumber[i] == '0' ) //бональная проверка на равенство
            count++;
    }
    cout<<count; //вывод результата
    return 0;
}
Наверное ты хотел что-то вроде этого?
0
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 34
05.06.2011, 15:33  [ТС] 8
Много буков)
вот именно STL я и не знаю.
0
 Аватар для Amarted
158 / 20 / 3
Регистрация: 26.02.2010
Сообщений: 56
05.06.2011, 15:36 9
Если ты про мой пример, то там стл и не нужно знать, а много буков это из-за имён и коментарие, убери их и назови переменные i, x, y, и будет тебе счастье.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 15:37 10
Если многобукав - это ошибки, то попробуй убрать везде std::, если останутся, поставь using namespace std; после инклудов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2011, 15:37
Помогаю со студенческими работами здесь

Определить количество нулей в десятичной записи числа без учета нулей в младших разрядах
Дано число N (N&gt;9) определить количество нулей в записи числа, кроме нулей в младших разрядах данного числа. Пример, N=10207000, результат...

Количество нулей в двоичной записи числа
Мне нужно посчитать количество нулей в двоичной записи числа. Как стандартными функциями можно получить двоичное представление числа, а...

Найти количество нулей в конце записи факториала числа
Найти количество нулей в конце записи факториала числа n. Подскажет, кто алгоритм? Или хотя бы в какую сторону копать? Если приведете...

Найти количество нулей в конце записи факториала N
Найти количество нулей в конце записи факториала числа n

Определение количества нулей в двоичной записи числа
Определить, сколько нулей в двоичной записи произвольного числа А (100&lt;А&lt;1000)?


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер