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

Как сказать циклу - C++

Восстановить пароль Регистрация
 
 
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 17:07     Как сказать циклу #1
Как сказать циклу выполняться 4 раза ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
18.02.2011, 17:18     Как сказать циклу #2
C++
1
2
3
4
5
6
7
int n=1;
 
while(n<5)
{
   //что-то выполняем
   n++;
}
Или:
C++
1
2
3
4
for(int i=1;i<5;i++)
{
//что-то выполняем
}
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 17:20  [ТС]     Как сказать циклу #3
а не подскажите в чем ошибка этого кода ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{float b;
    for (int b=1;b ==6;)
    {
        b = sqrt(6);
    }
    cout << b;
    return 0;
}
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
18.02.2011, 17:29     Как сказать циклу #4
А что надо собственно сделать?
А то у Вас одна переменная и как счетчик в цикле,и как результат операции взятия корня квадратного.

Может такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include <cmath>
using namespace std;
int main()
{
        float result;
        for (int b=1;b!=6;b++)
        {
                result = sqrt(6);
        }
        cout << result<<endl;;
        system("pause");
        return 0;
}
Объясните цель. Тут у меня просто 5 раз берется корень из числа 6
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 17:31  [ТС]     Как сказать циклу #5
Нужно шесть раз изьять корень из шести.
вот подработанный код, но он все равно не выполняется, ссылается на ошибку с sqrt.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{float b,c;
    for (int b=1;b ==6;)
    {
        c = sqrt(6);
    }
    cout << b;
    return 0;
}
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
18.02.2011, 17:36     Как сказать циклу #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include <cmath>
using namespace std;
int main()
{
        float result;
        for (int b=1;b<=6;b++)
        {
                result = sqrt(6);
                cout <<b<<" - "<< result<<endl;
        }
        
        system("pause");
        return 0;
}
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.02.2011, 17:39     Как сказать циклу #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
        float c=6;
        for (int i=0;i<6;i++)
        {
                c = sqrt((int)c);
        }
        cout << c;
        return 0;
}
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 17:40  [ТС]     Как сказать циклу #8
И ваша программа тоже выдает вот такую ошибку
Миниатюры
Как сказать циклу  
Sokolov
 Аватар для Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 17:42     Как сказать циклу #9
Цитата Сообщение от MILAN Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
        float b,c=6;
        for (int i=0;b<6;i++)
        {
                c = sqrt(c);
        }
        cout << c;
        return 0;
}
выдает ошибку потому что b не инициализирована
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
        float c=6;
        for (int i=0;i<6;i++)
        {
                c = sqrt(c);
        }
        cout << c;
        return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 17:44     Как сказать циклу #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
        double c=6;
        for (int i=0;i<6;i++)
        {
                c = sqrt(c);
        }
        cout << c;
        return 0;
}
Добавлено через 40 секунд

Не по теме:

Sokolov, опоздал, как обычно)))



Добавлено через 1 минуту
Sokolov, а вообще-то ошибка выдаётся, потому что не существует экземпляра функции sqrt, перегруженной так, чтобы принимать float.
Sokolov
 Аватар для Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 17:48     Как сказать циклу #11
silent_1991,
C++
1
2
        float b,c=6;
        for (int i=0;b<6;i++)
в этом коде же b не инициализирована, и получается, что компилятор не может обработать условие выполнения цикла, поэтому выдает ошибку =) может я и не прав =) я тоже еще новичок
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 17:50  [ТС]     Как сказать циклу #12
Понятно. Спасибо за помощь. Вот рабочая программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
        double c=6;
        for (int i=0;i<7;i++)
        {
                c = sqrt(c);
        }
        cout << c;
        system("pause");
 
        return 0;
}
а не проконсультируете меня вот по этому вопросу ? MVS 2010
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 17:50     Как сказать циклу #13
Sokolov,
Вы читали, что написал компилятор?

Цитата Сообщение от Sokolov Посмотреть сообщение
это я сам придумал
С чем вас и поздравляю. Что хранится в не инициализированной переменной?
Sokolov
 Аватар для Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 17:57     Как сказать циклу #14
silent_1991, "The variable 'b' is being used without initialized."
А что хранится в не инициализированной переменной?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 18:02     Как сказать циклу #15
Sokolov,
Цитата Сообщение от Sokolov Посмотреть сообщение
"The variable 'b' is being used without initialized."
А теперь сборку на Release переключите и попробуйте запустить этот код:

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    int a;
 
    std::cout << a << std::endl;
 
    return 0;
}
Добавлено через 36 секунд
Цитата Сообщение от Sokolov Посмотреть сообщение
А что хранится в не инициализированной переменной?
Вот отсюда и все ваши фантазии.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.02.2011, 18:02     Как сказать циклу #16
Цитата Сообщение от parkito Посмотреть сообщение
Нужно шесть раз изьять корень из шести.
C++
1
2
3
4
#include <cmath>
...
std::cout << pow(6.0, 1.0 / 64.0);
...
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 18:03     Как сказать циклу #17
И ещё вот такой:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    int a;
 
    std::cout << a << std::endl;
    std::cout << (a < 6 ? "True" : "False") << std::endl;
 
    return 0;
}
Sokolov
 Аватар для Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 18:04     Как сказать циклу #18
silent_1991,
а как переключить?
ничего не переключая, вылезла та же ошибка, но если ее пропустить то на экран выводится число -858993460
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.02.2011, 18:08     Как сказать циклу #19
Sokolov, вам повезло, у вас второй код выдаст True. У меня вывод второго кода
Код
1855207188
False
Т.е. тот цикл был вполне работоспособный. Тут вообще конечно от ситуации зависит. Если зделать переменную unsigned, скорее всего тот код с циклом работал бы без ошибок, но результат, конечно, был бы неверный.
А вообще, в не инициализированной переменной хранится мусор, "память прошлых поколений", т.е. то, что там могло остаться от предыдущих обращений к этой памяти.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2011, 18:08     Как сказать циклу
Еще ссылки по теме:

Можете сказать, я правильно понял задание? C++
C++ Скласти програму з використанням циклу for
Блок-схема по циклу C++

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

Или воспользуйтесь поиском по форуму:
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
18.02.2011, 18:08  [ТС]     Как сказать циклу #20
Цитата Сообщение от silent_1991 Посмотреть сообщение
И ещё вот такой:

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    int a;
 
    std::cout << a << std::endl;
    std::cout << (a < 6 ? "True" : "False") << std::endl;
 
    return 0;
}
Я не понял программу, для чего она и что делает ?
Yandex
Объявления
18.02.2011, 18:08     Как сказать циклу
Ответ Создать тему
Опции темы

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