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

Квадратный корень - C++

Восстановить пароль Регистрация
 
Domonion
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
07.06.2013, 13:21     Квадратный корень #1
вот очень странно! вот 2 кода. По логике не различаются НИЧЕМ! Почему 1 код не работает, а другой работает?
этот пашет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main ()
{
    int x;
    cout << "Введите аргумент" << endl;
    cin >> x;
    for (int y = 1; y < x; ++y)
    {
        int s = x;
        if ((s /= y) == y )
        cout << "Корень из вашего АРГУМЕНТА = " << y << endl;
    }
    int a;
    cin >> a;
}
а этот нет!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main ()
{
    int x;
    cout << "Введите аргумент" << endl;
    cin >> x;
    for (int y = 1; y < x; ++y)
    {
        int s = x;
        if ((x /= y) == y )
        cout << "Корень из вашего АРГУМЕНТА = " << y << endl;
    }
    int a;
    cin >> a;
}
помогите разобраться новичку! Визуал Студия 2010
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 13:21     Квадратный корень
Посмотрите здесь:

Уравнение на c++ (не квадратный корень) C++
Квадратный корень C++
C++ Квадратный корень
C++ Квадратный корень из 5
квадратный корень от интеграла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
07.06.2013, 14:05     Квадратный корень #2
По логике эти два примера очень даже различаются.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
07.06.2013, 14:19     Квадратный корень #3
11 строка s,x
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,075
Записей в блоге: 15
07.06.2013, 14:20     Квадратный корень #4
operator/= изменяет свой первый аргумент, поэтому во втором случае у вас x меняется в каждой итерации цикла. В первом у вас меняется s, которое каждый раз сбрасывается на значение переменной x.
Вообще вам надо писать просто (x / y) вместо (x /= y)
Yandex
Объявления
07.06.2013, 14:20     Квадратный корень
Ответ Создать тему
Опции темы

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