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

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

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

C++ Пользователь вводит с клавиатуры числа, до тех пор пока не введено число 6
Вводить отрицательные числа до тех пор пока не будет введено положительное число C++
Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша <<ESC>> C++
C++ Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл do...while.
Вводить с клавиатуры числа и выводить квадраты этих чисел до тех пор, пока не будет введено число 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
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
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
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
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.05.2010, 15:44     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #7
Какое вы имеете право сравнивать неинициализированные переменные?)
zViXz
3 / 3 / 0
Регистрация: 15.05.2010
Сообщений: 25
24.05.2010, 16:12     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #8
первый и последний раз всё можно, даже уран лизнуть) просто видимо не до конца понимаю порядок работы. ибо работает всё верно с самых первых вводов, вот и подумал что "вайлится" он после введения "шага". да и в целом до сих пор так думаю, так что откровенно говоря не вижу "неправильности". уж извиняйте :|
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
24.05.2010, 16:19     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #9
zViXz, в вашем случае значения, которые проверяются на первой итерации, представляют из себя мусор взятый и ячейки памяти, выделенной под вашу переменную. Содержимое ячейки - непредсказуемо и может так получится, что сумма окажется равной нулю или второе число равным единице еще до ввода значений и естественно ввод у вас не запросят, а еще, точно не помню в какой IDE(или даже в C#, который очень похож на С++, конструкции циклов аналогичны) значения изначально при объявлении инициализируются нулем. Опять же ваш цикл не сработает ни разу.

Думаю, объяснил.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
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
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
24.05.2010, 16:37     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1 #12
Дак а ругаться неначто, в синтаксисе нет ошибок.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 07:36     Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Еще ссылки по теме:

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

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

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

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