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

Как сказать циклу

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

Как сказать циклу выполняться 4 раза ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2011, 17:07
Ответы с готовыми решениями:

За допомогою циклу while!!
Допоможіть розвязати таку задачу!! Нехай дано число н. Необхідно вивести на...

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

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

Скласти програму з використанням циклу 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
Эксперт С++
5009 / 3069 / 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;
}
а не проконсультируете меня вот по этому вопросу ? MVS 2010
0
silent_1991
Эксперт С++
5009 / 3069 / 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
Эксперт С++
5009 / 3069 / 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Эксперт С++
10115 / 6023 / 1510
Регистрация: 25.07.2009
Сообщений: 11,418
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
Эксперт С++
5009 / 3069 / 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
Эксперт С++
5009 / 3069 / 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

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

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

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


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

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

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