Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
#1

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

18.02.2011, 17:07. Просмотров 1076. Ответов 20
Метки нет (Все метки)

Как сказать циклу выполняться 4 раза ?
http://www.cyberforum.ru/cpp-beginners/thread247832.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2011, 17:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сказать циклу (C++):

Два вопроса по циклу for
1. Нужно два условия и два модификатора в цикле for. Правильно ли я делаю? for...

Блок-схема по циклу
Дана матрица А(nxn). Написать программу, которая находит максимальный по...

Скласти програму з використанням циклу for
Вводиться натуральне число. Вивести це ж число, розділяючи трійки цифр комами....

где здесь ошибка по циклу
//-------------------------------------------------------------------------...

Нужна помощь с задачками по циклу for
Здраствуйте все. Уменя вот не получаеться сделать задачки кто сможет мне...

20
dyosick
62 / 62 / 17
Регистрация: 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++)
{
//что-то выполняем
}
1
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
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;
}
0
dyosick
62 / 62 / 17
Регистрация: 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
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
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;
}
0
dyosick
62 / 62 / 17
Регистрация: 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;
}
1
MILAN
888 / 782 / 186
Регистрация: 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;
}
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
18.02.2011, 17:40  [ТС] #8
И ваша программа тоже выдает вот такую ошибку
0
Миниатюры
Как сказать циклу  
Sokolov
42 / 42 / 13
Регистрация: 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;
}
1
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 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.
1
Sokolov
42 / 42 / 13
Регистрация: 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 не инициализирована, и получается, что компилятор не может обработать условие выполнения цикла, поэтому выдает ошибку =) может я и не прав =) я тоже еще новичок
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
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;
}
а не проконсультируете меня вот по этому вопросу ? http://www.cyberforum.ru/cpp-beginne...ml#post1379928
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
18.02.2011, 17:50 #13
Sokolov,
Вы читали, что написал компилятор?

Цитата Сообщение от Sokolov Посмотреть сообщение
это я сам придумал
С чем вас и поздравляю. Что хранится в не инициализированной переменной?
0
Sokolov
42 / 42 / 13
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 17:57 #14
silent_1991, "The variable 'b' is being used without initialized."
А что хранится в не инициализированной переменной?
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 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 Посмотреть сообщение
А что хранится в не инициализированной переменной?
Вот отсюда и все ваши фантазии.
0
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
18.02.2011, 18:02 #16
Цитата Сообщение от parkito Посмотреть сообщение
Нужно шесть раз изьять корень из шести.
C++
1
2
3
4
#include <cmath>
...
std::cout << pow(6.0, 1.0 / 64.0);
...
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 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;
}
0
Sokolov
42 / 42 / 13
Регистрация: 04.01.2011
Сообщений: 125
18.02.2011, 18:04 #18
silent_1991,
а как переключить?
ничего не переключая, вылезла та же ошибка, но если ее пропустить то на экран выводится число -858993460
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
18.02.2011, 18:08 #19
Sokolov, вам повезло, у вас второй код выдаст True. У меня вывод второго кода
Код
1855207188
False
Т.е. тот цикл был вполне работоспособный. Тут вообще конечно от ситуации зависит. Если зделать переменную unsigned, скорее всего тот код с циклом работал бы без ошибок, но результат, конечно, был бы неверный.
А вообще, в не инициализированной переменной хранится мусор, "память прошлых поколений", т.е. то, что там могло остаться от предыдущих обращений к этой памяти.
1
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
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;
}
Я не понял программу, для чего она и что делает ?
0
18.02.2011, 18:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2011, 18:08
Привет! Вот еще темы с решениями:

Накопление погрешности при выводе константы по циклу
Интересный эффект... пытался интегрировать по Симпсону, но обнаружил этот...

Что хотел сказать автор?
Код C++ #define MAX_SIZE (8192) signed char buf; почему нельзя...

Можете скомпилировать и сказать работает ли?
Не хочу качать компилятор для 4-5 заданий, точнее занимали бы они меньше места...

GetFrameTime() выдает нормальное время кадра только со второго прохода по циклу
while(1) { frameTime = GetFrameTime(); // есть функция возвращает время 1...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru