1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Решалка кубических уравнений, Задача-то детская, но я не понимаю что не так. Помогите, вразумите.
Программа для вычисления корней кубического уравнения:
reshalka kubicheskyh uravneniy; var n,y,z,f:integer; x,k:longint; begin clrscr; writeln('Vvedite koeffichyenty uravneniya chiala:n,y,z,f'); readln(n,y,z,f); k:=0; for x:=-1000000 to 1000000 do if n*x*x*x+y*x*x+z*x+f=0 then begin k:=k+1; writeln('x',k,'=',x); end; if k=0 then write('Chelyh korney net'); readln; end.
Заранее спасибо, за потраченное на мой вопрос время.
Ну полный перебор это конешно мощно.А теперь подумаем, что же делает ваша программа....Во первых,если она и найдет ,то она найдет только целые корни,это связано с тем что у вас цикл по х,и х принимает только целочисленные значения, даже для квадратного уравнения это ооочень малый процент от всех возможных решений,но дело ваше. Теперь почему ваша программа не работает.
reshalka kubicheskyh uravneniy;
писать нельзя, кампилятор не поймет,но можно
program reshalka_kubicheskyh_uravneniy;
Пробелы тут тоже оставлять нельзя,а вот подчеркивания нормально. Затем,вы делаете clrscr;, но ведь надо подключить библиотеку crt где собственно реализована эта функция. затем, у вас цикл 1000000,но простите,а вы подумали что вам в условии придется миллион умножить на миллион и еще раз на миллион, да еще и на коэффициент, это число ни в какой тип данных не влезет.... вот и получаеться,что ваше условие срабатывает всегда. В итоге что мы имеем.
program reshalka_kubicheskyh_uravneniy; uses crt; var n,y,z,f:integer; x,k:longint; begin clrscr; writeln('Vvedite koeffichyenty uravneniya chiala:n,y,z,f'); readln(n,y,z,f); k:=0; for x:=-100 to 100 do begin if n*x*x*x+y*x*x+z*x+f=0 then begin k:=k+1; writeln('x',k,'=',x); end; end; if k=0 then write('Chelyh korney net'); readln; end.
Что же способна сделать эта программа, из всех корней она выведет нам только целые,причем если корни одинаковые ,например уравнения вида (x-a)^3,где х=а будут все три корня, то она вывелет лишь 1 корень.Подобрать числа когда будут все 3 целых корня я не смог. Мой вам совет,хотите сделать нормальную программу,возьмите один из методов и тут вам помогут его реализовать,если вы действительно хотите решить эту задачу.