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

Предел int или что то еще ? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Календарь в С http://www.cyberforum.ru/cpp-beginners/thread672419.html
Задали задание написать календарь в С. Что бы вверху были дни недели написаные в строчку, а под ними писались в столбик числа от 1 до 31, но еще что бы можно было например 1 число не в понедельник допустим а в субботу и оно выкинуло календарь на месяц 31 день. Заранее благодарю
C++ Найти самое длинное слово и определить, сколько раз оно встретилось Программа которая считывает текст из файла,находит самое длинное слово и определяет сколько раз оно встретилось. Ни как не могу разобраться со строками. С++ http://www.cyberforum.ru/cpp-beginners/thread672418.html
C++ Вывести первые 100 чисел Фиббоначи
на вывести на с++ первые 100 чисел фиббаначи
C++ Получить все трехзначные натуральные числа, сумма цифр которых равна m
var m, n, s, i: integer; begin write('Введите m (m<27): '); readln(m); for i:= 100 to 999 do begin s:= 0; n:= i; while n>0 do begin
C++ Выборка из простенькой бд http://www.cyberforum.ru/cpp-beginners/thread672295.html
Добрый день! Собственно в 2 файла заливаются записи, имея запрос с m_strSEARCH надо вытащить остальные с условием..вроде ок, но почему то в последней части вываливается только первая из нужных ( С циклом что то не так? int CIndex::poisk_ind(CString kl,int i,int& nomer) { while (i<kol) { if (index.kluch!="")
C++ Перегрузка операторов с использованием функций-членов и укозателя *this Из учебника я узнал, то что функция перегрузки операторов вызывается когда компилятор встретит выражение - c = a + b; затем b - передается как аргумент (явно), a - передается как аргумент (не явно) спомощью укозателя this. Где и происходит операция сложения двух объеттов. пример: //Здесь класс myClass myClass myClass::operator+(myClass ob){ myClass temp; temp.n = n + ob.n; //n... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
16.10.2012, 16:34     Предел int или что то еще ?
Цитата Сообщение от Alejo Посмотреть сообщение
I.M., Проблема в том, что нужно использовать простейшие средства для выполнения задачи (строки использовать нельзя).
Можно организовать через посимвольный ввод, т.е. без использования строк. При этом пропадает необходимость хранить введенное значение в числовой переменной и заморачиваться вопросами переполнения.

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
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <limits>
    
int main()
{
    char c;
    int i;
    std::cout << "Enter a digit: " << std::flush;
    std::cin >> i;
 
    if(!std::cin || i < 0 || i > 9)
    {
        std::cerr << "Not a digit: " << i << std::endl;
        return 1;
    }
    
    std::cout << "Enter a number: " << std::flush;
 
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
        
    bool found = false;
    while(true)
    {
        std::cin.get(c);
        if(c == '\n')
            break;
        if(!std::cin || c < '0' || c > '9')
        {
            std::cerr << "Not a digit: " << c << std::endl;
            return 1;
        }
        
        if(c == i + '0')
        {
            found = true;
            break;
        }
    }
 
    std::cout << (found ? "Found" : "Not found") << std::endl;
}
Пример использования:
Bash
1
2
3
4
5
6
7
8
9
10
11
~/samples/cpp $ ./sample 
Enter a digit: 0
Enter a number: 12342341234123412341234123794712349172349712349172349172349172349172349172349823749237492137419237419234712937491237419237402412341234123412341234
Found
~/samples/cpp $ ./sample 
Enter a digit: 3
Enter a number: 199991919829199191980
Not found
~/samples/cpp $ ./sample 
Enter a digit: 15
Not a digit: 15
 
Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru