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

Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) - C++

Восстановить пароль Регистрация
 
Jin200611
14 / 14 / 0
Регистрация: 09.01.2012
Сообщений: 248
17.06.2013, 21:40     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #1
Здравствуйте. Не могу исправить ошибку.
Задание: Вводится диапазон, (например 5,1,10) где 1-ое число-начало диапазона, 2-ое число приращение (1 или -1), 3-е число конец диапазона. Обеспечить контроль существования диапазона.
На выходе диапазоны записывать в следующем виде:
range (<старт>, <приращение>, <финиш>)
Например:
5...10 на выходе range (5,1,10)
5...0 на выходе range (5,-1,0)
5,2...10 на выходе range (5,2,10)
5,-2...10 выдает ошибку «Неправильно задан диапазон».

Заранее всем спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
int main()
{
    char delim1, delim2;
    double a,b,c,d;
    d=c-a;
    string str= "5,1,10";
    stringstream ss(str);
    if(!(ss>>a>>delim1>>b>>delim2>>c))
        cout<<"Ошибка ввода!"<<endl;
    else
        if (a>c,b<0,b<d) .or. (a<c,b>0,b<c)
            cout<<"range (5,1,10)"<<endl;
        else
            cout<<"Неправильно задан диапазон"<<endl;
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 21:40     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона)
Посмотрите здесь:

C++ Случайное число из диапазона от 0 до 1
Ввести целое число N. Вывести все простые числа из диапазона [2,N] C++
Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо C++
Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами C++
Напечатать таблицу умножения на заданное число (число вводится с клавиатуры) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
17.06.2013, 21:51     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #2
C++
1
.or.
What is it?
Jin200611
14 / 14 / 0
Регистрация: 09.01.2012
Сообщений: 248
17.06.2013, 21:53  [ТС]     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #3
.оr. - или
Ezembi
 Аватар для Ezembi
100 / 87 / 3
Регистрация: 29.05.2013
Сообщений: 227
17.06.2013, 21:55     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #4
Цитата Сообщение от Jin200611 Посмотреть сообщение
C++
1
if (a>c,b<0,b<d) .or. (a<c,b>0,b<c)
Oh shit!
Лучше так:
C++
1
if((a>c&&b<0&&b<d)||(a>c&&b<0&&b<d))
Jin200611
14 / 14 / 0
Регистрация: 09.01.2012
Сообщений: 248
17.06.2013, 22:08  [ТС]     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #5
Ezembi, Спасибо выручил. Также спасибо всем кто помогал.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.06.2013, 22:41     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #6
Цитата Сообщение от Ezembi Посмотреть сообщение
Лучше так:
C++
1
if((a>c&&b<0&&b<d)||(a>c&&b<0&&b<d))
Справа и слева от || одно и тоже.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 22:47     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона)
Еще ссылки по теме:

Отсортировать массив, вводим начало диапазона и конец, программа считает все что в промежутке C++
Как найти целое число из диапазона от 0 до N, которое не встречается в массиве A? C++
Пользователь вводит с клавиатуры две границы диапазона и число. Проверить, попадает ли число в диапазон C++

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

Или воспользуйтесь поиском по форуму:
Jin200611
14 / 14 / 0
Регистрация: 09.01.2012
Сообщений: 248
17.06.2013, 22:47  [ТС]     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона) #7
alsav22, Я видел и исправил. Но все равно спасибо.
Yandex
Объявления
17.06.2013, 22:47     Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона)
Ответ Создать тему
Опции темы

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