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

Цикл вывода диапазона данных - C++

Восстановить пароль Регистрация
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
20.09.2012, 16:05     Цикл вывода диапазона данных #1
Не могу понять почему не выводит минимальное значение, хотя когда тип меняю на char или на short int , то всё прекрасно работает. Почему нечего не отображается в данном случае?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    long int c;
 
        for(c=1; ;c++) {
        if(c<1) {
            cout << " min: " << c <<'\n';
            break;
        }
    }
    
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 16:05     Цикл вывода диапазона данных
Посмотрите здесь:

Цикл: Написать программу вывода таблицы через 1 градус в 3 столбца C++
C++ Цикл нахождения диапазона данных и битов
C++ Написать программу на языке С + + реализующая класс содержащий поля данных и методы ввода и вывода данных
C++ Цикл вычисления и вывода первых 15 членов последовательности и их суммы
Программа на цикл for (как добиться вывода на экран?) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:24     Цикл вывода диапазона данных #2
Так ничего вывести и не должно У вас ведь с=1. А вы пишите if(c<1). Естественно 1 не меньше чем 1 Поэтому if пропускается)
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.09.2012, 16:25     Цикл вывода диапазона данных #3
long int имеет размер как минимум 4 байта. Представляете, сколько будет работать цикл вхолостую?
http://en.cppreference.com/w/cpp/typ...ric_limits/min
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
20.09.2012, 16:27  [ТС]     Цикл вывода диапазона данных #4
Цитата Сообщение от DebieCooepr Посмотреть сообщение
Так ничего вывести и не должно У вас ведь с=1. А вы пишите if(c<1). Естественно 1 не меньше чем 1 Поэтому if пропускается)
long int аналогичен типу данных int, а соответственно его диапазон равен -2 147 483 648 до 2 147 483 647. Когда цикл дойдёт до 2 147 483 647 и прибавит единицу, то получится число -2 147 483 648. Проблема в том, что оно у меня не выводится, я понять не могу почему

long int имеет размер как минимум 4 байта. Представляете, сколько будет работать цикл вхолостую?
http://en.cppreference.com/w/cpp/typ...ric_limits/min
И всё же почему цифра не выводится?
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:28     Цикл вывода диапазона данных #5
Вам soon ответил сверху.
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
20.09.2012, 16:28     Цикл вывода диапазона данных #6
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <limits>
 
int main()
{
    std::cout<<std::numeric_limits<long int>::min();
    return 0;
}
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
20.09.2012, 16:31  [ТС]     Цикл вывода диапазона данных #7
Цитата Сообщение от Andsteadur Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <limits>
 
int main()
{
    std::cout<<std::numeric_limits<long int>::min();
    return 0;
}
Надо именно через цикл сделать это, неужели так тяжело сказать почему мой код не работает?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.09.2012, 16:34     Цикл вывода диапазона данных #8
У меня выводится.
Миниатюры
Цикл вывода диапазона данных  
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:34     Цикл вывода диапазона данных #9
А вы знаете сколько времени пройдет, пока с увеличется до 2 147 483 647 ?)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.09.2012, 16:38     Цикл вывода диапазона данных #10
Цитата Сообщение от DebieCooepr Посмотреть сообщение
А вы знаете сколько времени пройдет, пока с увеличется до 2 147 483 647 ?)
6 секунд.
Миниатюры
Цикл вывода диапазона данных  
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.09.2012, 16:40     Цикл вывода диапазона данных #11
Цитата Сообщение от aleksand Посмотреть сообщение
ong int аналогичен типу данных int
Нет. long всегда будет занимать как минимум 4 байта, а int может занимать и два.
Цитата Сообщение от aleksand Посмотреть сообщение
Надо именно через цикл сделать это
На кой, пардон, черт?
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:40     Цикл вывода диапазона данных #12
Только что проверил. Все работает. У меня уже на 4 секунде выводит. Все норм.
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
20.09.2012, 16:41  [ТС]     Цикл вывода диапазона данных #13
Цитата Сообщение от alsav22 Посмотреть сообщение
У меня выводится.
Странно очень. У меня стоит visual studio 2010 точно такой же как и у вас. Запускаю через ctrl-f5, но не отображает
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:42     Цикл вывода диапазона данных #14
А вы подождите немного)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2012, 16:45     Цикл вывода диапазона данных
Еще ссылки по теме:

C++ Цикл вывода пятизначных цифр
C++ Написать функцию поиска и вывода на экран ВСЕХ делителей чисел из переданного диапазона
C++ Как преобразовать цикл для вывода сотрудников по отделам

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

Или воспользуйтесь поиском по форуму:
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
20.09.2012, 16:45  [ТС]     Цикл вывода диапазона данных #15
Цитата Сообщение от DebieCooepr Посмотреть сообщение
А вы подождите немного)
Точно, видимо я такой нетерпеливый =))
Yandex
Объявления
20.09.2012, 16:45     Цикл вывода диапазона данных
Ответ Создать тему
Опции темы

Текущее время: 23:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru