В чем ошибка? Можно ли вообще использовать такую структуру кода?

195
11 января 2019, 14:50

Самостоятельно обучаюсь программированию. Сейчас пытаюсь решить задачу, найденную в интернете.
Что в моем коде неправильно? Думаю, я сделал много глупых ошибок, поэтому прошу не судить меня строго. При выполнении консоль пустая.

#include<stdio.h>
#include<math.h>
int main()
{
    double p,a=p,y,x=0.1;
    while (x<=2*p)
    {if (x<=a)
    {   y=pow(cos(x-a),2)/a*sqrt(x);
        printf("\nx=%f\ty=%f",x,y);
        }
    else if(x>a)
    {   y=exp(-a*x)/log(x+a);
        printf("\nx=%f\ty=%f",x,y);
    }
        x=x+p/6;
    }
    getchar();
}
Answer 1

При таком ТЗ - вот ваше ХЗ:

int main()
{
    double p = 0.0;
    do {
        printf("Input p (> 0.1): ");
        scanf("%lf",&p);
    } while (p <= 0.1);
    for(double x = 0.1; x <= 2*p; x += p/6)
    {
        double y = (x <= p) ?
            cos(x-p)*cos(x-p)/p*sqrt(x)
            : exp(-p*x)/log(x+p);
        printf("%12.6lf   %12.6lf\n",x,y);
    }
}

P.S. Но вообще-то это какая-то чушь...

Answer 2

Посмотрите внимательно на самую свою первую строку

double p,a=p,y,x=0.1;

значение p не присвоено. То есть, там мусор (любое абсолютно значение). Его присваиваете переменной a. Это уже лишено смысла - в а и так будет мусор.

Дальше

while (x<=2*p)

Это условие как известный кот может и выполнятся и нет. Дальше даже нет смысла обсуждать код - использование неинициализированной переменной - плохо и печально.

Поэтому, почитайте свое условие, внимательно проставьте начальные значения всех переменных, напишите объявления в несколько строк, а не одним скопом и все будет ок.

И почитайте наконец Зачем нужно обнуление переменных?

READ ALSO
создание dll в codeblocks

создание dll в codeblocks

Всем приветСоздаю dll в codeblocks, имею структуру проекта main

180
Не читается второй раз getline

Не читается второй раз getline

Появилась проблема с getline(file, string)Я хочу, чтобы с помощью этой программы было сначала высчитано количество строк в файле, а потом уже эти строки...

139
Как программно удалить Textview

Как программно удалить Textview

Всем привет! В приложении при нажатии кнопки появляется Textview с фономПри нажатии кнопки повторно, Textview "пропадает"

179
Кодировка VOLLEY &lt;-&gt; Spring

Кодировка VOLLEY <-> Spring

Отправляю русские буквы через Volley вот так

172