Ошибка: "error: format specifies type 'long double' but the argument has type 'double *'" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

При компиляции моей программы мне выбивает ошибку "error: format specifies type 'long double' but the argument has type 'double *' [-Werror,-Wformat]" я уже перепробовал использовать всё, и %f и %lf и %Lf ничего не помогло. Подскажите в чём дело?
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #define N 31
  5. int main()
  6. {
  7. double x,y,z,i,j;
  8. int n;
  9. printf("Type x like (i,j):");
  10. scanf("%f,%f",&i,&j);
  11. z=fabs(i-j);
  12. x=0;
  13. for(n=0;n<N;n++){
  14. while(x<=z){
  15. x+=z/N;
  16. y=exp(2*x-1.5)-log(x+2);
  17. printf("\nY=%Lf",&y);
  18. }
  19. }
  20. }

Решение задачи: «Ошибка: "error: format specifies type 'long double' but the argument has type 'double *'"»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #define N 31
  5. int main() {
  6.     double x,y,z,i,j;
  7.     int n;
  8.     printf("Type x like (i,j):");
  9.     scanf("%lf,%lf\n",&i,&j);
  10.     z=fabs(i-j);
  11.     x=0;
  12.     for(n=0;n<N;n++){
  13.         while(x<=z){
  14.             x+=z/N;
  15.             y=1+exp(2*x-1.5)-log(x+2);
  16.             printf("Y=%f\n", y);
  17.         }
  18.     }
  19. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: , , .
  2. Определение константы N.
  3. Объявление переменных: x, y, z, i, j (тип double).
  4. Ввод значений переменных i и j с помощью функции scanf.
  5. Вычисление значения переменной z как абсолютного значения разности i и j.
  6. Инициализация переменной x значением 0.
  7. Выполнение цикла for для прохода по всем элементам массива (так как N=31).
  8. Внутри цикла while выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.
  9. Внутри цикла while вычисление значения переменной y по формуле y=1+exp(2*x-1.5)-log(x+2).
  10. Вывод значения переменной y на экран с помощью функции printf.
  11. Проверка условия окончания внутреннего цикла while (x<=z).
  12. При выходе из внутреннего цикла while, значение переменной x увеличивается на z/N.
  13. Значение переменной y вычисляется по формуле внутри цикла while.
  14. Значение переменной y выводится на экран с помощью функции printf.
  15. Цикл while повторяется до тех пор, пока значение переменной x не превысит значение переменной z.
  16. Цикл for повторяется для всех элементов массива (N=31).
  17. Значения переменных i и j считываются с помощью функции scanf.
  18. Значение переменной z вычисляется как абсолютное значение разности i и j.
  19. Значение переменной x инициализируется значением 0.
  20. Выполнение цикла while для вычисления значения переменной x в пределах от 0 до z.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы