proszę o pomoc napisałem program w c++ ale wyznacza on tylko ilość punktów przecięcia, ale nie wyświetla współrzędnych tych punktów.napisać funkcję która określi liczbę punktów przecięcia paraboli y=ax^2+bx+c z prostą y=mx+k i wyznaczy ich współrzędne, a następnie przekaże te informacje do programu głównego. zastosować wskaźniki.#include <iostream>#include <cmath>using namespace std;void licz(float a, float b, float c, float m, float k, float *liczba_p, float *x1, float *x2, float *y1, float *y2){ float delta, licz_p, licz_x1, licz_x2, licz_y1, licz_y2; delta=(b-m)*(b-m)-4*a*(c-k); if ((a==0)&&(b==m)&&(c==k)) licz_p=-1; else if ((a==0)&&(b==m)&&(c!=k)) licz_p=0; else if ((a==0)&&(b!=m)) licz_p=1; else if ((a!=0)&&(delta>0)) licz_p=2; else if((a!=0)&&(delta==0)) licz_p=1; else licz_p=0; if ((a=0)&&(licz_p=1)) { licz_x1=(k-c)/(b-m); licz_y1=m*licz_x1+k; } if ((a!=0)&&(licz_p=2)) { licz_x1=-(b-m)-sqrt(delta)/2*a; licz_x2=-(b-m)+sqrt(delta)/2*a; licz_y1=m*licz_x1+k; licz_y2=m*licz_x2+k; } if ((a!=0)&&(licz_p=1)) { licz_x1=-(b-m)/2*a; licz_y1=m*licz_x1+k; } *liczba_p=licz_p; *x1=licz_x1; *x2=licz_x2; *y1=licz_y1; *y2=licz_y2; cout<<"liczba punktow= "<<*liczba_p<<endl; }int main(){ float l1,p,a,b,c,m,k,liczb_p,x1,x2,y1,y2; cout<<"Podaj a "; cin>>a; cout<<"Podaj b "; cin>>b; cout<<"Podaj c "; cin>>c; cout<<"Podaj m "; cin>>m; cout<<"Podaj k "; cin>>k; licz(a, b, c, m, k, &liczb_p, &x1, &x2, &y1, &y2); p=liczb_p; if(p=0) {cout<<"Brak rozwiazan"<<endl;} if(p=1) { cout<<"Jedno rozwiazanie"<<endl; cout<<"x= "<<x1<<" , y= "<<y1<<endl; } if(p=2) { cout<<"Dwa rozwiazania"<<endl; cout<<"x1= "<<x1<<" , y1= "<<y1<<endl; cout<<"x2= "<<x2<<" , y2= "<<y2<<endl; } if(p=-1) {cout<<"nieskonczenie wiele rozwiazan"<<endl;} system("PAUSE"); return 0;}
Answer

Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.