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

Работа цикла типа while. Найти ошибку в коде - C++

Восстановить пароль Регистрация
 
Troyx
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8
07.06.2013, 03:11     Работа цикла типа while. Найти ошибку в коде #1
Добрый день. Ребята, помогите, пожалуйста. Не могу понять, что не так. В итоге результат выходит: "Vashe chislo = 0".
Само задание в комментарии в коде. Спасибо!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Решения задачи методом подбора. Какое число нужно умножить на 17, 
// чтобы получить число в интервале [200–201].
 
#include <stdio.h>
#include <iostream>
using namespace std;
 
int main()
{
    float A=0;
    while (200<=A*17 && A*17<=201)
        {
            A=A+0.01;
        }
    cout<<"Chislo ravno = "<<A<<endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 03:11     Работа цикла типа while. Найти ошибку в коде
Посмотрите здесь:

Работа с файлами в Си, не могу найти ошибку в коде C++
Работа с массивами. Помогите, пожалуйста, найти ошибку в коде C++
C++ Найти ошибку в коде
C++ Найти ошибку в коде
C++ Найти ошибку в коде
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
07.06.2013, 03:14     Работа цикла типа while. Найти ошибку в коде #2
C++
1
2
3
4
5
    float A=0;//A = 0
    while (200<=A*17 && A*17<=201)// 200<=0? (false) && 0<=201? (true) -> false && true == false
        {//Не выполнится
            A=A+0.01;
        }
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
07.06.2013, 04:10     Работа цикла типа while. Найти ошибку в коде #3
Надо поменять на do { } while;
Troyx
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 8
07.06.2013, 15:52  [ТС]     Работа цикла типа while. Найти ошибку в коде #4
Попробовал do while. Теперь результат 0,01. Подскажите, как можно реализовать эту задачу именно через циклы. Через for получается. А преподаватель просит через while или do while. Должно получиться 11,83... Заранее спасибо за помощь!
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
07.06.2013, 16:34     Работа цикла типа while. Найти ошибку в коде #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    float A=200.0/17;
    do
    {
        A += 0.01;
    } while (200<=A*17 && A*17<=201);
    cout<<"Chislo ravno = "<<A<<endl;
    return 0;
}
Expocooky
 Аватар для Expocooky
56 / 56 / 2
Регистрация: 06.06.2013
Сообщений: 112
07.06.2013, 17:25     Работа цикла типа while. Найти ошибку в коде #6
Цитата Сообщение от Troyx Посмотреть сообщение
Попробовал do while. Теперь результат 0,01. Подскажите, как можно реализовать эту задачу именно через циклы. Через for получается. А преподаватель просит через while или do while. Должно получиться 11,83... Заранее спасибо за помощь!
Почему должно получится 11,83?

Если нужно миним.число, при умножении на которое получим число из заданного интервала, то условие цикла нужно заменить на A*17<200
Yandex
Объявления
07.06.2013, 17:25     Работа цикла типа while. Найти ошибку в коде
Ответ Создать тему
Опции темы

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