Ĺadny brzuch
wczytaj wpolczyniki rownania kwadratowego do tablicy i nastepnie wylicz pierwiastki tego rowniania... e ktos wie jak to napisac.. w turbo pascalu...
Do tablicy? Jak dla mnie dla trójmianu wystarczą zwykłe zmienne. Ale jak mus to mus.
Zadeklaruj tablice tab i zmienne delta,p1,p2.
write('Podaj a ');readln(tab[1]);
write('Podaj b ');readln(tab[2]);
write('Podaj c ');readln(tab[3]);
Oblicz delta:=tab[2]*tab[2]-4*tab[1]*tab[3]
if delta >0 then
begin
p1:=(-tab[2]-sqrt(delta))/(2*tab[1]); p2:=(-tab[2]+sqrt(delta))/(2*tab[1]);
writeln('P1=',p1,' P2=',p2);
end;
if delta =0 then
begin
p1:=-tab[2]/(2*tab[1]);
writeln('P0=',p1);
end
if delta<0 then writeln('brak pierwiastkow');
Zwróć uwagę, że wszystko się zawali dla a=0
Nie wiem po co wpisywać współczynniki do tablicy,ale jeżeli chcesz...Tu masz kompletny progs:
uses crt;
var a,b,c,delta,x1,x2:real;
tab:array[1..3] of real;
begin
Write('podaj wspolcz. przy x^ ');
readln(a);tab[1]:=a;
write('podaj wspolcz. przy x ');
readln(B);tab[2]:=b;
write('podaj wyraz wolny ');
readln©;tab[3]:=c;
delta:=tab[2]*tab[2]-4*tab[1]*tab[3];
if delta<0 then
begin
writeln('x1= ',-tab[2]/(2*tab[1]),'+i*',sqrt(-delta)/(2*tab[1]));
writeln('x1= ',-tab[2]/(2*tab[1]),'-i*',sqrt(-delta)/(2*tab[1]));
end
else begin
writeln('x1= ',(-tab[2]+sqrt(delta))/(2*tab[1]));
writeln('x2= ',(-tab[2]-sqrt(delta))/(2*tab[1]));
end;
readkey;
end.
Ed
cytat:edeek napisał:
Tu masz kompletny progs:
[...]
edeek Twoje rozwiązanie jest oczywiście poprawne ale nie wiem czy z tą liczbą urojoną nie zrobisz pio1771 dodatkowych problemów. Pomijając już to, że prawdopodobnie nie będzie wiedział o co chodzi to do tego osoba która mu dała to zadanie chyba nie uwierzy, że sam je zrobił ;)
ICQ : 245-363-570 | TLEN : oxisoft | GG : 486-2-486
No to podmienić linijkę:
if delta<0 then writeln('nie ma rozwiązania') else....
Ed
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Do tablicy? Jak dla mnie dla trójmianu wystarczą zwykłe zmienne. Ale jak mus to mus.
Zadeklaruj tablice tab i zmienne delta,p1,p2.
write('Podaj a ');readln(tab[1]);
write('Podaj b ');readln(tab[2]);
write('Podaj c ');readln(tab[3]);
Oblicz delta:=tab[2]*tab[2]-4*tab[1]*tab[3]
if delta >0 then
begin
p1:=(-tab[2]-sqrt(delta))/(2*tab[1]); p2:=(-tab[2]+sqrt(delta))/(2*tab[1]);
writeln('P1=',p1,' P2=',p2);
end;
if delta =0 then
begin
p1:=-tab[2]/(2*tab[1]);
writeln('P0=',p1);
end
if delta<0 then writeln('brak pierwiastkow');
Zwróć uwagę, że wszystko się zawali dla a=0
Nie wiem po co wpisywać współczynniki do tablicy,ale jeżeli chcesz...Tu masz kompletny progs:
uses crt;
var a,b,c,delta,x1,x2:real;
tab:array[1..3] of real;
begin
Write('podaj wspolcz. przy x^ ');
readln(a);tab[1]:=a;
write('podaj wspolcz. przy x ');
readln(B);tab[2]:=b;
write('podaj wyraz wolny ');
readln©;tab[3]:=c;
delta:=tab[2]*tab[2]-4*tab[1]*tab[3];
if delta<0 then
begin
writeln('x1= ',-tab[2]/(2*tab[1]),'+i*',sqrt(-delta)/(2*tab[1]));
writeln('x1= ',-tab[2]/(2*tab[1]),'-i*',sqrt(-delta)/(2*tab[1]));
end
else begin
writeln('x1= ',(-tab[2]+sqrt(delta))/(2*tab[1]));
writeln('x2= ',(-tab[2]-sqrt(delta))/(2*tab[1]));
end;
readkey;
end.
Ed
cytat:edeek napisał:
Tu masz kompletny progs:
[...]
edeek Twoje rozwiązanie jest oczywiście poprawne ale nie wiem czy z tą liczbą urojoną nie zrobisz pio1771 dodatkowych problemów. Pomijając już to, że prawdopodobnie nie będzie wiedział o co chodzi to do tego osoba która mu dała to zadanie chyba nie uwierzy, że sam je zrobił ;)
ICQ : 245-363-570 | TLEN : oxisoft | GG : 486-2-486
No to podmienić linijkę:
if delta<0 then writeln('nie ma rozwiązania') else....
Ed