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

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

Войти
Регистрация
Восстановить пароль
 
 
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,279
Завершенные тесты: 1
#1

обычная программа - C++

05.10.2010, 20:53. Просмотров 849. Ответов 19
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
int x=0,n=0;
cin>>x;
while(x!=0){
    x=x/10;
 
n++;
}
cout<<n<<endl;
ну думаю тут уже всем ясно что делает прога,считает сколько цифр,если я ввожу 1000 выводит 4-правильно а если я ввожу 456456456465456 то 0,почему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2010, 20:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обычная программа (C++):

Билдер 6 сохранить с проэкт с разширением .ехе! Что бы работал как обычная программа и на др компах! - C++
Все галочки которые пологается снял в линке..и еще где то!!! Пробовал через релиз но ни---ра=))

Шаблонная и обычная перегруженные функции - C++
Доброго времени суток! Возник такой вопрос, есть перегруженная функция: template &lt;class InputIt&gt; void assign(InputIt first, InputIt...

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Первая программа. Код не компилируется и не запускается программа. - C++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Мультиагентная система или обычная программа - ООП и паттерны
Чем конкретно отличаются эти вещи ?

вот обычная программа.Как сделать такой же красивый запуск всплывающий и закрытие?пж ссылку или пример)очень п - C++ WinAPI
Буду благодарен)

19
Bazan
22 / 22 / 0
Регистрация: 15.04.2009
Сообщений: 100
05.10.2010, 20:56 #2
Как минимум потому, что у типа int максимальное значение 2^32=4294967296, а с учетом того, что обычный int имеет знак, то максимальное значение - 2147483648
0
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,279
Завершенные тесты: 1
05.10.2010, 20:59  [ТС] #3
Bazan, поменял инт на дабл,результат лол

x=65456456456465
n=338
Для продолжения нажмите любую клавишу . . .
0
Bazan
22 / 22 / 0
Регистрация: 15.04.2009
Сообщений: 100
06.10.2010, 16:36 #4
^Tecktonik_KiLLeR, Проблема в том, что double нацело не делится. Тут нужно другое условие
C++
1
2
3
4
5
6
7
8
double x=0,n=0;
cin>>x;
while(x>1){
    x=x/10;
 
n++;
}
cout<<n<<endl;
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.10.2010, 07:14 #5
^Tecktonik_KiLLeR, а ты не провал через strlen() ?
ну, или там типа string s; ... s.length()
0
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,279
Завершенные тесты: 1
07.10.2010, 15:03  [ТС] #6
accept, наш учитель про стрлен не говорил,хотя я знаю что это)))))))
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.10.2010, 15:20 #7
^Tecktonik_KiLLeR, выход - не вводить большие числа.
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
07.10.2010, 15:26 #8
^Tecktonik_KiLLeR, также можно считывать посимвольно, вот так:

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{  
    int n = 0;
    while(cin.get() != '\n')
        n++;
    cout << n << endl;
    return 0;
 }
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.10.2010, 15:29 #9
Vladimir616, что за бред??? считаться будет количестов символов, а не количество цифр
то есть и пробелы, точки, запятые, слэши и прочее-прочее-прочее.
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
07.10.2010, 15:35 #10
fasked, почему же бред? Мой вариант программы вполне подходит для задания с формулировкой "вводится число - найти количество знаков". К тому же, если ввести в программу автора вышеупомянутые символы, то вообще ничего считаться не будет.
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
07.10.2010, 15:56 #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <ctype.h>
 
#define BUF_LEN 4096
 
int main(void){
    char buf[BUF_LEN], * p;
    
    printf("Number: ");
    if ( ! fgets(buf, BUF_LEN, stdin) )
        return 1;
    for ( p = buf; isdigit(*p); ++p )
        ;
    if ( *p != '\n' )
        printf("Not number!\n");
    else
        printf("%d digits.\n", p - buf);
    
    return 0;
}
до 20 цифр
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdint.h>
 
int main(void){
    uint64_t num;
    char tail;
    int cnt;
    
    printf("Number: ");
    if ( scanf("%llu%c", &num, &tail) != 2 || tail != '\n' ){
        printf("Wrong input!\n");
        return 1;
    }
    for ( cnt = 0; num; ++cnt, num /= 10 )
        ;
    printf("%d digits.\n", cnt);
    
    return 0;
}
1
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,279
Завершенные тесты: 1
07.10.2010, 17:37  [ТС] #12
Цитата Сообщение от easybudda Посмотреть сообщение
uint64_t num; char tail;
без этих нельзя?
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
07.10.2010, 18:06 #13
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
без этих нельзя?
задайтесь вопросом, для чего они нужны, и сами себе ответите - можно без них, или нет...
0
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,279
Завершенные тесты: 1
07.10.2010, 19:30  [ТС] #14
easybudda, пока ответ на вопрос для чего они нужны мне не нужен,а вот ответ Без них нельзя-нужен,т.к. это в курсе проходят,а не я один учу,чтобы прошло...в курсе еще не прошли что такое чар...
хотя мне интересует с одной стороны что возвращает вот это
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
uint64_t num;
и где используется
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
07.10.2010, 19:31 #15
^Tecktonik_KiLLeR, А расшифровать?
unsigned int 64... t - typedef...
Это тип. В данном случае тип переменной. И он ничего не возвращает, что естественно.

char - символьный тип, хотя скорее все же численный. Представлен символами, а аски коды являются числами. Читайте книжки...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2010, 19:31
Привет! Вот еще темы с ответами:

Обычная таблица - C++ Qt
Как реализовать таблицу с возможностью выделения всех ячеек и дальнейшего копирования их содержимого?

Обычная память. - Windows XP
Вообщем так, врубил комп, только начал устанавливать игру, комп грузанулся, и после перезагрузки доходя до загрузки винды, пишет то что,...

Не обычная выборка - MS Access
Уважаемые форумчане, подскажите как реализовать идею. Выборка не обычная для меня )). Есть бд с продажами, которые состоят из продукта и...

Обычная заставка Windows - JavaScript
Хочу сделать обычную заставку Windows, где объект бегает по углам экрана. Делаю все через создание нового объекта с его методами. Все...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
07.10.2010, 19:31
Ответ Создать тему
Опции темы

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