C++ проблемы с написанием програмы

#include <iostream>


#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
    setlocale(0, "");
    int i,n;
    float s,r,x;
printf("\n Ââåäiòü n:");
scanf("%f",&n);
printf("\n Ââåäiòü x:");
scanf("%f",&x);
i=1;
s=0;
while(i<=n)
{
r=pow(-1,i)*(sqrt(pow(x,i)+pow(x,i-1)+1)/i);
printf("\n i=%d r=%f",i,r);
s=s+r;
i=i+1;
}
printf("\n Çíà÷åííÿ s:f%",s);
getch();

    return 0;
}

Помогите...она работает без конца
Как задать конец? В чём ошибка? Я нуб в програмировании, занялся им месяц назад...

У тебя неправильно указан спецификатор формата при вводе n. Ты его вводишь как число с плавающей точкой %f, а надо как целое — %d.

Также ошибка в спецификации формата в последнем printf().

что не так?
// ConsoleApplication3.cpp: определяет точку входа для консольного приложения.
//

include «stdafx.h»

include <iostream>

include <conio.h>

include <clocale>

include <math.h>

double f(double x, double eps, int *n);
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, «Russian»);
int err;
double x_nach, x_kon, x, s, dx, t, eps, n, y;
for (double x = x_nach; x <= x_kon; x += dx){
y = cosh(x, eps, err);
if (err) cout << «|9.2lf |ряд расходится! |\n», x;
else cout << « |9.2lf |14.6g |\n», x, y;
}

cout << "Введите начало интервала x_nach=";
cin >> x_nach;
cout << "Введите конец интервала, больше ',x_nach:0:1,' x_kon=";
cin >> x_kon;
if (x_kon > x_nach)
{
    cout << "Введите шаг табуляции, меньше ',x_kon-x_nach:0:1,' dx=";
    cin >> dx;
    cout << "Введите точность eps:\n";
    cin >> eps;
    cout << " Табулирование функции F(x)=e^-x,";
    cout << " представленной разложением в степенной ряд";
    cout << "на интервале ", x_nach : 0 : 1, "..", x_kon : 0 : 1, " с шагом ", dx : 0 : 1;
    cout << " -------------------------- ";
    cout << " |   X   |   S   |   n   | ";
    cout << " -------------------------- ";
}
while (x <= x_kon + dx / 2)
{
    S = f(x, eps, n);
    cout << "vivod x, s, n";
    x += dx;

}
return 0;

}
double f(double x, double eps, int *n){

double ch = 1, y = ch;
for (n = 0; fabs(ch)>eps; n++)
    ch *= x * x / ((((2 * n + 2)) / (2 * n + 2)) / (2 * n + 2)*((x, 2 * n + 1)));
y += ch;

n = 0;
t = 1;
s = t;

}
while (abs(t) >= eps)
{
n = n + 1;
}
return 0;
}

мист, а в чём проблема-то? Не компилируется? Логическая ошибка? Или что-то ещё?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.