1 / 1 / 1
Регистрация: 22.01.2016
Сообщений: 70
1

Найти ошибку в коде оператора

28.01.2016, 23:19. Показов 331. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В книге Стенли Липпмана задание что произойдет если вводимые значения равны. После компиляции этой программы выходит консольное окно с вводом значений а и b.После введения значения результат не выводится и окно при нажатии клавиш не закрывается. Подскажите пожалуйста есть ли ошибки в программе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
 
int main()
 
{
    int a, b;
    cout << "Enter first:\t";
    cin >> a;
    cout << "Enter second:\t";
    cin >> b;
    int lower, upper;//нижний,верхний пределы.
    if (a = b)
    lower = a;
    upper = b;
    int sum = 0;
    for (int i=lower;lower=upper; i++)
    sum += i;
    cout << "Sum of" << a
        << "to" << b << "inclusive is"
        << sum << endl;
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2016, 23:19
Ответы с готовыми решениями:

Найти ошибку в коде оператора
Помогите пожалуйста разобраться в программе. Программа взята с книги Лафорте. При компиляции...

Перегрузка оператора присваивания = (найти ошибку в коде)
Преподаватель написал, что перегрузка оператора присвоить выполнена не верно. Я ошибки не вижу....

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; ...

Найти ошибку в коде
Доброго времени суток! Потихоньку начал изучать данный язык и на первых этапах непонятки. #include...

9
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.01.2016, 23:21 2
Цитата Сообщение от AlexCH1 Посмотреть сообщение
C++
1
if (a = b)
= присвоить
== сравнить

Добавлено через 28 секунд
нет тела { }

Добавлено через 39 секунд
Цитата Сообщение от AlexCH1 Посмотреть сообщение
for (int i=lower;lower=upper; i++)
бесконечный цикл
C++
1
for (int i=lower;  условие выхода из цикла  ; i++)
0
1 / 1 / 1
Регистрация: 22.01.2016
Сообщений: 70
28.01.2016, 23:25  [ТС] 3
А сейчас правильно?

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
#include<iostream>
using namespace std;
 
int main()
 
{
    int a, b;
    cout << "Enter first:\t";
    cin >> a;
    cout << "Enter second:\t";
    cin >> b;
    int lower, upper;//нижний,верхний пределы.
    if (a == b){
        lower = a;
        upper = b;
    }
    int sum = 0;
    for (int i=lower;lower==upper; i++)
    sum += i;
    cout << "Sum of" << a
        << "to" << b << "inclusive is"
        << sum << endl;
    system("pause");
}
 Комментарий модератора 

Прочитайте правила форума:
П. 4.9. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.01.2016, 23:28 4
AlexCH1, можно кидать код в том же вопросе

Цитата Сообщение от AlexCH1 Посмотреть сообщение
А сейчас правильно?
нет
Цитата Сообщение от AlexCH1 Посмотреть сообщение
for (int i=lower;lower==upper; i++)
sum += i;
lower и upperне изменяются, так что до этого условия не дойдет.

может так
C++
1
for (int i=lower;lower!=upper; i++, ++lower)
0
1 / 1 / 1
Регистрация: 22.01.2016
Сообщений: 70
28.01.2016, 23:37  [ТС] 5
исправил

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
#include<iostream>
using namespace std;
 
int main()
 
{
    int a, b;
    cout << "Enter first:\t";
    cin >> a;
    cout << "Enter second:\t";
    cin >> b;
    int lower, upper;//нижний,верхний пределы.
    if (a == b){
        lower = a;
        upper = b;
    }
    int sum = 0;
    for (int i = lower; lower != upper; lower++)
    sum += lower;
    cout << "Sum of" << a
        << "to" << b << "inclusive is"
        << sum << endl;
    system("pause");
}
сумма равна нулю
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
28.01.2016, 23:38 6
Цитата Сообщение от AlexCH1 Посмотреть сообщение
сумма равна нулю
1. что ввел.
2. какое задание.
0
1 / 1 / 1
Регистрация: 22.01.2016
Сообщений: 70
29.01.2016, 00:05  [ТС] 7
Ввел два одинаковых значения показало Sum равна нулю. Ввел разные выдало Run-Time Check Failure #3 - The variable 'lower' is being used without being initialized.
Задание было что будет если в рассматриваемой программе значения а и b будут равны.
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
#include<iostream>
#include<conio.h>
 
using namespace std;
 
int main()
{
    int a,b;
    cout << "Enter first:\t";
    cin >> a;
    cout << "Enter second:\t";
    cin >> b;
    int lower, upper;
    if (a <= b){}
    lower = a;  upper = b;
    }
else{
    lower = b;
    upper = a;
}
    int sum = 0;
    for (int i = lower; i<=upper; ++i)
        sum +=i;
    cout << "Sum of" <<lower
        << "to" << upper<< "inclusive is"
        << sum << endl;
    system("pause");
}
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
29.01.2016, 00:08 8
Цитата Сообщение от AlexCH1 Посмотреть сообщение
Ввел два одинаковых значения показало Sum равна нулю.
ну по условию цикла так и есть.

Цитата Сообщение от AlexCH1 Посмотреть сообщение
Run-Time Check Failure #3 - The variable 'lower' is being used without being initialized.
нужно инициализировать переменные.
Цитата Сообщение от AlexCH1 Посмотреть сообщение
int lower, upper;
C++
1
int lower = 0, upper = 0;
но структура кода странная, так что не ясно что делать если переменные разные .
0
1 / 1 / 1
Регистрация: 22.01.2016
Сообщений: 70
29.01.2016, 00:13  [ТС] 9
Спасибо Вам за терпение.

Добавлено через 2 минуты
Если переменные разные то оно просто суммирует значения например введя цифры 3и 5 это будет так 3+4+5
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
29.01.2016, 00:14 10
Цитата Сообщение от AlexCH1 Посмотреть сообщение
Если переменные разные то оно просто суммирует значения например введя цифры 3и 5 это будет так 3+4+5
ага , увидел блок else, в ранних версиях его не было.
1
29.01.2016, 00:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2016, 00:14
Помогаю со студенческими работами здесь

Найти ошибку в коде
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace...

найти ошибку в коде:
Помогите найти ошибку в коде: #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using...

найти ошибку в коде
Помогите найти ошибку в коде: #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using...

Найти ошибку в коде
Как совершенный новичок не могу понять, почему работает не так, как надо. Помогите разобраться,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru