Автор: willhunting 13.11.2007 1:37
Никак не могу ввести данные. После первого ввода одной переменной виснет. Результат, естественно, тоже не выдаёт. При вводе данных типа х=а; y=b… всё работает. Среда Dev-C++.
Код
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { double alfa,rezult,B,x,y,m,shag; printf("vvedite koordinatu po osi Y=\n"); scanf(" %f ", &y); printf("vvedite shag pristrelki\n"); scanf("%f", &shag); printf("vvedite tocnosti pribligeniya\n"); scanf("%f", &alfa); printf("vvedite tochku cherez kotoruy dolzgno proiti reshenie X=\n"); scanf(" %f", &x); m=0; m=m+shag; rezult=x*x+m*x+1-y; while((fabs(rezult)>alfa) || (m>2)) { m=m+shag; rezult=x*x+m*x+1-y; } if (m>2) printf("tocnosti ne dostignuta vvedite drugoi shag/n"); else printf("m=%f\n",m); system("pause"); return 0; }
Автор: volvo 13.11.2007 2:33
Цитата
Никак не могу ввести данные.
Естественно... Формат ввода какой задал?
scanf(" %f ", &y);
, то есть, перед числом, и после числа - пробел???
Пробелы из форматной строки убери - все заработает (я про ввод чисел).
Автор: willhunting 13.11.2007 3:35
Цитата(volvo @ 12.11.2007 22:33)
Естественно... Формат ввода какой задал?
scanf(" %f ", &y);
, то есть, перед числом, и после числа - пробел???
Пробелы из форматной строки убери - все заработает (я про ввод чисел).
Пробелы убрал. Спасибо. Только решение так и не выдаёт. При вводе же переменных так
Код
x=1; y=3; alfa=0.0001; shag=0.01;
всё прекрасно работает(выдаёт верный ответ).
Автор: volvo 13.11.2007 3:43
Хм... Ну да... Ты же вводишь double, а форматная строка - для float...
scanf("%lf", &y);
и так далее...
Автор: willhunting 13.11.2007 3:49
Цитата(volvo @ 12.11.2007 23:43)
Хм... Ну да... Ты же вводишь double, а форматная строка - для float...
scanf("%lf", &y);
и так далее...
Спасибо большое. Работает.