Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2013, 23:10   #1
Proger16
Пользователь
 
Аватар для Proger16
 
Регистрация: 15.02.2013
Сообщений: 38
По умолчанию Найдите ошибку в программе

Здравствуйте, может быть я не по адресу, поскольку не являюсь студентом. Мне 15 лет. Я начал серьёзно изучать программирование. Помогите найти ошибку в программе.
Код:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
	int i = 0;
	int n;
	double x, y;
	cin>>n>>x>>y;
	while (i<=n)
		i+1;
		x^n*y^(n-n);
cout<<i;
}
Заранее благодарен!

Последний раз редактировалось Stilet; 30.03.2013 в 23:25.
Proger16 вне форума Ответить с цитированием
Старый 30.03.2013, 23:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну нашел - Два выражения не возвращают результат свой никому.
Че дальше?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2013, 23:39   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
i+1;
x^n*y^(n-n);
А это чего должно означать? Про операцию присваивания читал уже?

UPD Написал и понял, что Виталий на то же самое указывал. Только неявно
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 31.03.2013, 11:11   #4
Proger16
Пользователь
 
Аватар для Proger16
 
Регистрация: 15.02.2013
Сообщений: 38
По умолчанию

Это означает, что во время выполнения цикла, к i постоянно прибавляется 1.
Proger16 вне форума Ответить с цитированием
Старый 31.03.2013, 11:29   #5
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Уважаемый, у Вас цикл это вот эти 2 строчки:
Код:
while (i<=n)
i+1;
Вот эта операция
Код:
x^n*y^(n-n);
уже выполняется после, причем как уже заметили выше, эта операция ни к чему не присвоена. т.е. Z=x^n*y^(n-n);
и что бы она попала в цикл ->
Код:
do{
i+1;
Z=x^n*y^(n-n);
}while (i<=n);
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 31.03.2013, 11:35   #6
Proger16
Пользователь
 
Аватар для Proger16
 
Регистрация: 15.02.2013
Сообщений: 38
По умолчанию

А вывести на консоль надо i или Z?
Proger16 вне форума Ответить с цитированием
Старый 31.03.2013, 11:49   #7
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Ну мое 6 чувство подсказывает, что Вам нужен результат вычислений, соответственно выводим Z
Код:
cout << Z;
Только у меня вопрос: Зачем Вы делаете степень n-n ? это же 0, а любое число в 0 степени есть единица.
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 31.03.2013, 11:59   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Зачем Вы делаете степень n-n ?
Ну и где ты там возведение в степень увидел?
Если автор желает возводить в степень, то ему нужно не ^ использовать а функцию pow() из хедера math. Циркумфлекс это операция исключающего или а не степени.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2013, 12:05   #9
KooKish
Улыбаемся :)
Пользователь
 
Регистрация: 18.12.2012
Сообщений: 74
По умолчанию

Цитата:
Циркумфлекс это операция исключающего или а не степени.
Подозреваю, что автор сия творчества не в курсе таких дел и как было задание, так его и "впендюрил" в программу. Хотя могу и ошибаться. Надеюсь он нас просветит.
Не забываем про весы.
KooKish вне форума Ответить с цитированием
Старый 31.03.2013, 13:26   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Proger16 Посмотреть сообщение
Помогите найти ошибку в программе.
Вопрос изначально некорректный.
Ошибки в программе бывают двух видов:
1. Синтаксические - на них укажет компилятор.
2. Логические. Это когда программа делает не то, что хочет разработчик.
Невозможно найти логическую ошибку, если не знать, чего именно хочет программист. А именно это в исходном сообщении и не указано.

Как известно, любая программа работает так, как ее написал программист, а не так, как он хотел написать. Мы же, видя код, можем лишь узнать, как он написал, а не как хотел.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку Please Green Gin Общие вопросы C/C++ 16 09.11.2011 21:27
найдите ошибку Sergey240892 Помощь студентам 15 04.03.2011 11:34
Найдите ошибку dyusha2006 Помощь студентам 7 23.11.2010 16:48
НАЙДИТЕ ОШИБКУ В ПРОГРАММЕ svetah Помощь студентам 8 03.12.2008 15:19