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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kerosineclub
0 / 0 / 0
Регистрация: 24.05.2010
Сообщений: 8
#1

Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 - C++

24.05.2010, 14:11. Просмотров 869. Ответов 12
Метки нет (Все метки)

Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1. Вводить три числа, до тех пор пока их сумма не окажется равной 0.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 14:11     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Посмотрите здесь:

Вводить отрицательные числа до тех пор пока не будет введено положительное число - C++
Вводить отрицательные числа до тех пор пока не будет введено положительное число. Найти кол-во введеных чисел, значение наименьшего из...

Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл do...while. - C++
Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл...

Выводить на экран квадраты чисел до тех пор, пока не будет введено число 0 - C++
Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл...

Выводить на экран квадраты введенных чисел до тех пор, пока не будет введено число 0 - C++
Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл...

Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>> - C++
Задание: Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша &lt;&lt;ESC&gt;&gt;. На экран вывести кол-во вводимых чисел. #include...

Вводить пятизначное число пока не будет введено правильноеповторять ввод, пока не будет введено пятизначное число. Не получается выполнить задание. - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); cout &lt;&lt; &quot;\t\t\tДеление числа на разряды.&quot;...

Составить программу, которая просит вводить буквы до тех пор, пока не будет введена буква y или Y - C++
На паре задали создать задачу: Составить программу, которая просит вводить буквы до тех пор, пока не будет введена буква y или Y. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 15:06     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #2
C
1
2
3
4
5
while (y!=1)
{
  scanf ("%d,%d", &x, &y);
  printf ("%d\n", x*y);
}
C
1
2
3
4
5
while ((x+y+z)!=0)
{
  scanf ("%d,%d, %d", &x, &y, &z);
  printf ("%d\n", x+y+z);
}
разумеется только сами циклы, разумеется вместо вывода можно списывать результат в другую переменную.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
24.05.2010, 15:12     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #3
Тут рациональней использовать цикл do {} while
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 15:27     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #4
А разница? Проверил - вроде работает. Это не претензия, просто интересно чем лучше
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
24.05.2010, 15:32     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #5
В ваших примерах, прийдется инициализировать переменные x/y/z левыми значениями. А оно нам надо?

do/while
C++
1
2
3
4
5
6
7
8
9
10
11
do 
{    
    std::cin >> x >> y;
    std::cout << x*y << std::endl; } 
while (y!=1)
//
do 
{
    std::cin >> x >> y >> z;
    std:cout << x+y+z << std::endl; }
while ((x+y+z)!=0);
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 15:40     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #6
Или я законченный эгоист и мне надо только чтоб работало, или я вас не понял пример "некрасивой" работы если можно?
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
24.05.2010, 15:44     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #7
Какое вы имеете право сравнивать неинициализированные переменные?)
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 16:12     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #8
первый и последний раз всё можно, даже уран лизнуть) просто видимо не до конца понимаю порядок работы. ибо работает всё верно с самых первых вводов, вот и подумал что "вайлится" он после введения "шага". да и в целом до сих пор так думаю, так что откровенно говоря не вижу "неправильности". уж извиняйте :|
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.05.2010, 16:19     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #9
zViXz, в вашем случае значения, которые проверяются на первой итерации, представляют из себя мусор взятый и ячейки памяти, выделенной под вашу переменную. Содержимое ячейки - непредсказуемо и может так получится, что сумма окажется равной нулю или второе число равным единице еще до ввода значений и естественно ввод у вас не запросят, а еще, точно не помню в какой IDE(или даже в C#, который очень похож на С++, конструкции циклов аналогичны) значения изначально при объявлении инициализируются нулем. Опять же ваш цикл не сработает ни разу.

Думаю, объяснил.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
24.05.2010, 16:20     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #10
В переменных x/y/z могут хранится любые значения, т.к. они у нас не инициализированы.
А вы их сразу сравниваете с чем-то. Уловили?)
Да, шанс очень мал, что программа будет работать не правильно, но он есть. А при использовании, к примеру, do/while такго шанса вообще нет.

Добавлено через 31 секунду
M128K145, да-да)
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 16:27     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #11
Уловил Даже больше чем объяснили. Не стоит всё таки проверять на кодпаде всё подряд. Он почему то не сругался ни разу. Благодарю и извиняюсь.

P.S. ссылки на кодпад чтоб не быть голословным
http://codepad.org/8eTVfiXO
http://codepad.org/kfZQRUCX
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
24.05.2010, 16:37     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #12
Дак а ругаться неначто, в синтаксисе нет ошибок.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 07:36     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Еще ссылки по теме:

Вводить числа в диалоге с пользователем (до тех пор, пока он не откажется от ввода) - C++
Используя в программе цикл while, Вводить числа в диалоге с пользователем (до тех пор, пока он не откажется от ввода). Вывести общее...

Вводить массив символов до тех пор, пока два последних введенных символа не будут равны двум первым - C++
Ввод массива символов до тех пор, пока два последних введенных символа не будут равны двум первым введенным символам. Вот мой код,...

Вводить с клавиатуры числа до тех пор их сумма не будет равна 25 - C++
Надо вводить с клавиатуры числа до тех пор их сумма не будет равна 25 или произведение - 50.

Написать программу, выполняющую деление на 2 заданного числа до тех пор, пока не будет выполнено условие - C++
Написать программу, которая после ввода с клавиатуры числа будет выполнять деление на 2 до тех пор, пока результат не станет меньше либо...

Запрашивать пароль до тех пор, пока он не будет правильно введен - C++
Составить программу, которая запрашивает пароль (например, четырехзначное число) до тех пор, пока он не будет правильно введен.


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

Или воспользуйтесь поиском по форуму:
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
25.05.2010, 07:36     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #13
Речь не ошибках синтаксических, он работал правильно причём с первого же раза, причём стабильно. То что скомпилировалось на компе - не работало совсем Хотя уже не важно, спасибо.
Yandex
Объявления
25.05.2010, 07:36     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Ответ Создать тему
Опции темы

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