Премини към съдържанието

VGA

Потребител
  • Публикации

    8
  • Регистрация

  • Последно онлайн

Харесвания

1 Неутрална репутация

Всичко за VGA

  • Титла
    Новобранец
  • Рожден ден 5.09.1994

Информация

  • Пол
    Мъж
  • Град
    София
  1. Мисля че я оправих. В момента е така: #include <fstream.h>#include <math.h>const Nmax=100;float X[Nmax], Y[Nmax];double A[Nmax];int M;void Open_Points (char fname[50], int &M, float X[Nmax],float Y[Nmax]) {ifstream fin (fname, ios::in);fin>>M;for (int i=0; i<M; i++)fin>>X[i]>>Y[i];fin.close ();}void Write_Points (char text[50], int M, float X[Nmax],float Y[Nmax]) {cout<<text<<endl;for (int i=0; i<M; i++)cout<<X[i]<<'t'<<Y[i]<<endl;}void Compare_Points (int M, float X[Nmax], float Y[Nmax], double A[Nmax]) {int i, imax;double Pi, Max;Pi=3,14159;for (i=0; i<M; i++) {if (X[i]==0) {if (Y[i]>0) A[i]=Pi/2;else A[i]=3/2*Pi;}else {A[i]=atan(Y[i]/X[i]);if (X[i]<0)A[i]=Pi + A[i];if ((X[i]>0) && (Y[i]<0))A[i]=A[i] +2*Pi;}}Max=A[0]; imax=0;for (i=1; i<M; i++)if ( Max<A[i] ) {Max=A[i];imax=i;}cout<<"Nai-golqm ygyl="<<Max<<endl;cout<<"Tochka ot ygyl="<<imax<<endl;}float Triangle (float X1, float Y1, float X2, float Y2, float X3, float Y3) {float C;C=((X3-X2)*(Y1-Y2)-(X1-X2)*(Y3-Y2));return C;}void main () {int M, Np, Nm, i;float X[Nmax], Y[Nmax];float C[Nmax];Open_Points ("d:tochki.txt", M, X, Y);Write_Points ("Procheteni tochki : ", M, X, Y);Nm=0; Np=0;X[M]=X[0]; Y[M]=Y[0];X[M+1]=X[1]; Y[M+1]=Y[1];for (i=1; i<=M; i++) {C[i]=Triangle (X[i-1], Y[i-1], X[i], Y[i], X[i+1], Y[i+1]);if (C[i]>=0) Nm++;else Np++;}cout<<"Np="<<Np<<endl; cout<<"Nm="<<Nm<<endl;if (Np==M || Nm==M)cout<<"Mnogoygylnikyt e izpyknal n";elsecout<<"Mnogoygylnikyt e vdlybnat n";Compare_Points (M, X, Y, A);}В момента не ми изкарва никакви грешки и си ми изкарва точно резултат какъвто трябва да е. Благодаря много за помощта!
  2. При тази функцията: void Compare_Points (int M, int i, int imax, double Max, float X[Nmax], float Y[Nmax], double A[Nmax]) {double Pi;Pi=3,14;for (i=0; i<M; i++) {if (X[i]==0) {if (Y[i]>0) A[i]=Pi/2;else A[i]=3/2*Pi;}else {A[i]=atan(Y[i]/X[i]);if (X[i]<0)A[i]=Pi + A[i];if ((X[i]>0) && (Y[i]<0))A[i]=A[i] +2*Pi;}}}
  3. Ако може да помоля за помощ за една друга задача? Излиза ми warning, който не мога да оправя и мисля че от него не ми излиза резултата както трябва: warning C4700: local variable 'A' used without having been initialized #include <fstream.h>#include <math.h>const Nmax=100;int N;void Open_Points (char fname[50], int &N, float X[Nmax],float Y[Nmax]) {ifstream fin (fname, ios::in);fin>>N;for (int i=0; i<N; i++)fin>>X[i]>>Y[i];fin.close ();}void Write_Points (char text[50], int N, float X[Nmax],float Y[Nmax]) {cout<<text<<endl;for (int i=0; i<N; i++)cout<<X[i]<<'t'<<Y[i];cout<<endl;}void Compare_Points (int N, int i, int imax, double Max, float X[Nmax], float Y[Nmax], double A[Nmax]) {double Pi;Pi=3,14;for (i=0; i<N; i++) {if (X[i]==0) {if (Y[i]>0) A[i]=Pi/2;else A[i]=3/2*Pi;}else {A[i]=atan(Y[i]/X[i]);if (X[i]<0)A[i]=Pi + A[i];if ((X[i]>0) && (Y[i]<0))A[i]=A[i] +2*Pi;}}}float Triangle (float X1, float Y1, float X2, float Y2, float X3, float Y3) {float C;C=((X3-X2)*(Y1-Y2)-(X1-X2)*(Y3-Y2));return C;}void main () {int N, Np, Nm, i;float X[Nmax], Y[Nmax];float C[Nmax];Open_Points ("d:tochki.txt", N, X, Y);Write_Points ("Procheteni tochki : ", N, X, Y);Nm=0; Np=0;X[N]=X[0]; Y[N]=Y[0];X[N+1]=X[1]; Y[N+1]=Y[1];for (i=1; i<=N; i++) {C[i]=Triangle (X[i-1], Y[i-1], X[i], Y[i], X[i+1], Y[i+1]);if (C[i]>=0) Nm++;else Np++;}cout<<"Np="<<Np<<endl; cout<<"Nm="<<Nm<<endl;if (Np==N || Nm==N)cout<<"Mnogoygylnikyt e izpyknal n";elsecout<<"Mnogoygylnikyt e vdlybnat n";double A[Nmax], Max;int imax;Max=A[0]; imax=0;for (i=1; i<N; i++)if ( Max<A[i] ) {Max=A[i];imax=i;}cout<<"Nai-golqm ygyl="<<Max<<endl;cout<<"Tochka ot ygyl="<<imax<<endl;}на този ред ми излиза този warning: Max=A[0]; imax=0; а резултата, който ми излиза е следният: Procheteni tochki :0 11 3-1 00 -22 3Np=1Nm=4Mnogoygylnikyt e vdlybnatNai-golqm ygyl=-9.25596e+061Tochka ot ygyl=0Press any key to continueПроблема тука е, че не ми чете точките както трябва. Би трябвало да са: 01 11 13 -10 0-2 23 Предполагам, че от грешното четене на точките и излиза това: Nai-golqm ygyl=-9.25596e+061Tochka ot ygyl=0 Което не е вярно.
  4. Добре, а като напиша: X[i]=Area_skalarno(M, A[i], B[i]);ми излиза грешка: error C2664: 'Area_skalarno' : cannot convert parameter 2 from 'float' to 'float []' В този случай ми е ясно, че не е вярно. Но за друг вариант освен този, не се сещам: X[i]=Area_skalarno(M, A, B);но тука грешката е: error C4716: 'Area_skalarno' : must return a value а до колкото знам 'void' не връща резултат. Следователно и това не би трябвало да е вярно. За друг вариант не се сещам.
  5. Може ли, някой да помогне? Излиза ми само 1 грешка, която не мога да оправя, всички други грешки, каквито имаше оправих, само тази ме затруднява. Грешката е следната: error C2660: 'Area_skalarno' : function does not take 2 parameters. #include <fstream.h>#include <math.h>const Nmax=30;void Open_Matrix (char fname[10], int &M, float A[Nmax], float B[Nmax]) {ifstream fin(fname , ios::in) ; fin>>M;for (int i=0; i<M; i++)fin>>A[i]>>B[i];fin.close() ;}void Write_Matrix (char text[10], int M, float A[Nmax], float B[Nmax]) {cout<<"text"<<text<<endl;for (int i=0 ; i<M ; i++)cout<<A[i]<<'t'<<B[i];cout<<endl;}float Area_skalarno ( int M , float A[Nmax] , float B[Nmax]) {double R ;int i ;cout<<"skalarno"<<endl;R=0;for (i=0 ; i<M ; i++){R+=A[i]*B[i];}cout<<R<<endl;double X[20];int y;for (y=0 ; y<M ; y++){switch (y%2) {case 1:X[y]=A[y]; break;case 0:X[y]=B[y]; break;}cout <<X[y]<<endl;}}void main () {float A[Nmax] , B[Nmax] , X[Nmax];int M;Open_Matrix ("d:matrix.txt", M, A, B);Write_Matrix ("Procheteni tochki:", M, A, B); for (int i=0; i<M; i++){X[i]=Area_skalarno(A[i], B[i]);cout<<"X["<<i<<"]="<<X[i]<<endl;}} На подчертаният ред ми излиза тази грешка. П.П. Извинявам се за предишната ми тема, която публикувах, чак сега прочетох правилата. Може да се изтрие, админа ако пожелае.
  6. Задачите ми са: 1.Да се намери точката, чийто радиус-вектор сключва най-голям ъгъл с оста Ох. 2.Точките са свързани в многоъгълник. Да се определи дали многоъгълникът е изпъкнал или вдлъбнат. Трябва двете задачи да се напишат в една програма, като се решават с векторно произведение и точките се взимат от файл. Мога да използвам библиотеки като fstream.h, iostream.h и math.h. Ако някой може да помогне, ще му бъда много благодарен!!
  7. Мнения за Nokia 5300

    Здравейте! Имам малък проблем с Nokia 5300. Искам да попитам от къде мога да си оправя настройките за алармата, защото ми е много слаба и не искам да е усилваща се, също така и за основното звънене? ако може някой да ми каже ще съм му много благодарен!
  • Разглеждащи в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

×

Информация

Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.