vụ này gay wa các bác ơi, bác nào biết về C thì giúp em viết chương trình giải phương trình bậc 2 nhé, em phần này lơ mơ wa' nên không làm được, 3 hôm nữa ông thầy giáo kiêm tra rồi, cố gắng nhé các bác, thank
vụ này gay wa các bác ơi, bác nào biết về C thì giúp em viết chương trình giải phương trình bậc 2 nhé, em phần này lơ mơ wa' nên không làm được, 3 hôm nữa ông thầy giáo kiêm tra rồi, cố gắng nhé các bác, thank
do mình đọc thông tin này quá muộn.nhưng nếu bạn muôn lần sau mình up lên cho.
thông cảm nha!!!!!
bạn kiếm trên mạng thiếu gì, vào google gõ đúng từ khóa nó sẽ ra thoai . Còn kô thì mua 1 quyển dạy học C ấy , mấy bài PT bậc 2 là mấy bài căn bản mờ :|
Giải phương trình bậc 2 mà không làm được thì đừng học nữa.
mình viết bằng c++2005.net
chưa hoàn chỉnh lắm nhưng bạn có thể tham khảo
// giai.cpp : main project file.
#include "stdafx.h"
using namespace System;
double f,f1,s,a,x,b,e,c,d,a1,b1,x1,x2;
int k,i,j;
int main(array<System::String ^> ^args)
{
while (1)
{
Console::WriteLine("Nhap a de giai pt b2 \n b de giai pt bac nhat \n c de giai pt bac 3,\n va nhap 1 de thoat khoi chuong trinh");
double x1,x2,a,b,c,del;
char kt;
kt=Console::ReadKey(true).KeyChar;
switch (kt)
{
case 'a':
case 'A':
{
do
{
Console::Write("Nhap a khac 0 ");
a=Convert::ToInt32(Console::ReadLine());
if(a==0)
{
Console::WriteLine("Can Nhap a khac 0");
}
}while(a==0);
Console::Write(" Nhap b: ");
b=Convert::ToInt32(Console::ReadLine());
Console::Write(" Nhap c: ");
c=Convert::ToInt32(Console::ReadLine());
del=b*b-4*a*c;
if(del>0)
{
x1=(-b+Math::Sqrt(del))/2/a;
x2=(-b-Math::Sqrt(del))/2/a;
Console::WriteLine(" Gia tri x1= "+ x1);
Console::WriteLine(" Gia tri x2= "+ x2);
}
else if(del==0)
{
x1=-b/2/a;
Console::WriteLine("\n Nghiem kep x1=x2= "+ x1);
}
else
{
Console::WriteLine("\n Nghiem phuc x1= "+ (-b/2/a) + "+" + (Math::Sqrt(-del)/2/a) + "i");
Console::WriteLine("\n Nghiem phuc x2= "+ (-b/2/a) + "-" + (Math::Sqrt(-del)/2/a) + "i");
}
continue;
}
case 'b':
case 'B':
{
Console::WriteLine(" Giai PT bac nhat");
Console::Write(" Nhap a: ");
a=Convert::ToInt32(Console::ReadLine());
Console::Write(" Nhap b: ");
b=Convert::ToInt32(Console::ReadLine());
if(a==0)
{
if(b==0)
{
Console::WriteLine(" PT VO So Nghiem");
}
else
{
Console::WriteLine(" Pt Vo Nghiem");
}
}
else
{
Console::WriteLine(" PT co nghiem la x= "+ (-b/a));
}
continue;
}
case 'c':
case 'C':
{
array<float,1>^ g;
g=gcnew array<float,1>(30);
e=0.6;k=0;j=2;s=0;
Console::WriteLine("nhap phuong trinh bac 3 can giai");
do
{
Console::Write("nhap he so a: ");
a=Convert::ToDouble(Console::ReadLine());
} while (a==0);
Console::Write("nhap he so b: ");
b=Convert::ToDouble(Console::ReadLine());
Console::Write("nhap he so c: ");
c=Convert::ToDouble(Console::ReadLine());
Console::Write("nhap he so d: ");
d=Convert::ToDouble(Console::ReadLine());
Console::WriteLine("nhap khoang can tim nghiem [m,n]:");
Console::Write("nhap khoang m: ");
a1=Convert::ToDouble(Console::ReadLine());
Console::Write("nhap n: ");
b1=Convert::ToDouble(Console::ReadLine());
for(x=a1;x<=b1;x=x+0.0154)
{
f=a*x*x*x+b*x*x+c*x+d;
f1=Math::Abs(f);
if(f1<=e)
{
g[k]=x;
k++;
}
}
for(k=0;k<27;k++)
{
for(i=0;i<5;i++)
{
if((Math::Abs(g[k]-g[k+1]))<0.5)
{
g[k+1]=0;
}
}
} for(k=0;k<27;k++)
{
for(i=0;i<5;i++)
{
if((Math::Abs(g[k]-g[k+2]))<0.5)
{
g[k+2]=0;
}
}
}
Console::WriteLine("nghiem phuong trinh bac 3 ");
for(k=0;k<29;k++)
{
Console::Write("\t"+"\t"+g[k]);
}
continue;
}
case '1':
{
Console::WriteLine(" Thoat khoi ct");
break;
}
default :
continue;
}
break;
}
return 0;
}
bài giải PT bậc 2 làm kiểu này thì pó tay. wa' dài và ko có kỹ thuật
ủa giải 3 pt bậc 1,2,3 lun hả sỏy nha . Nhìn rối mắt wa1 ...hehe^^
ẹc mới học lập trình ah,chắc lười đọc sách!!!
Hic, quên sạch nó C rồi. Nhưng hồi đó em làm bài này chỉ có 15 phút, cả lên ý tưởng lẫn code (Lúc đó cũng là lính mới tò te). Sao bạn làm những 3 ngày cơ?
PS: Thuật toán bài này đơn giản mà. Bạn xem lại quy tắc giải phương trình bậc 2 trong toán ấy, tham số đầu vào là a, b, c. Xét các trường hợp a=0, a!=0, delta=0, delta>0; delta<0...(Đại khái thế).
Mình có đọa code giải pt bật hai bang c++ hy vọng giúp ích được hco bạn:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
void PTbachai(int a,int b,int c)
{
float delta,x1,x2;
delta=b*b-(4*a*c);
if(delta<0) printf("\n pt vo nghiem");
else
if(delta==0)
{
x=-b/2*a;
printf("\n pt co nghiem kep:x1=x2=%f",x);
}
else
{
x1=(-b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;
printf("\n pt co hai nghiem fan biet:");
printf("\n x1=%f",x1);
printf("\n x2=%f",x2);
}
}
void main()
{
int a,b,c;
printf("\n nhap a,b,c:",%d,%d,%d);
PTbachai(a,b,c);
getch();
}
Bookmarks