[C] Program do generowania układu równań

lukan77
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 17 maja 2011, o 21:52
Płeć: Mężczyzna
Lokalizacja: Kraków

[C] Program do generowania układu równań

Post autor: lukan77 »

Hej, zastanawiam się w jak w szybki sposób zrobić taki generator dla układu składającego się z 2 wierszy.

Myślałem żeby zrobić coś takiego

ax + ay + az = a
ax + ay + az = a

"a" tutaj wstawiało by się z tablicy od 0 do 9. Tylko jak tutaj zrobić z 0? żeby potem przy pobieraniu współczynników do np: macierzy wyświetlało po prostu 0, a w układzie po prostu nic, gdy te zero jest przy x,y lub przy z.

Tylko proszę bez spamu typu "znajdziesz to w google". Ja się dopiero tego uczę, a mam taki program napisać na 6. Jakakolwiek pomoc mile widziana.
PMichalak
Użytkownik
Użytkownik
Posty: 125
Rejestracja: 29 paź 2009, o 20:03
Płeć: Mężczyzna
Lokalizacja: Kalisz
Podziękował: 1 raz
Pomógł: 16 razy

[C] Program do generowania układu równań

Post autor: PMichalak »

Spróbuj jaśniej sformułować problem, bo aktualnie to jest bełkot.
m4rv1n
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 15 maja 2011, o 20:33
Płeć: Mężczyzna
Lokalizacja: Lublin

[C] Program do generowania układu równań

Post autor: m4rv1n »

Edit: Nie zauważyłem, że to C, a nie C++. Zlinczujcie mnie.

Robiłem coś podobnego tylko, że do 10 równań(ale to sobie usuniesz resztę). Tutaj jest program, który to ładnie wyświetla.
a - liczba równań.
b - liczba niewiadomych w równaniu(musi być równa w każdym równaniu)
tablica[a] - tablica dwuwymiarowa, która przechowuje współczynniki

Kod: Zaznacz cały

#include <iostream>
#include <conio.h>

using namespace std;
int main()
{
time_t t;
srand ((int) time(&t));
int a = 2, b;
cout<< endl;                    //takie tam bajery żeby ładniej w konsoli wyglądało
cout<<" Ile chcesz niewiadomych w rownaniu?"<<endl;
cout<<endl;
cout<<" ";
cin>>b;
cout<<endl;
b=b+1;       //musi byc jeszcze jedno miejsce na wynik równania                          
int tablica[a][b];             //tworzy tablice
for (int i = 0; i < a; ++i)                //wypełnia je losowymi zmiennymi w zakresie od 0 do 9.
                                  {for (int j = 0; j < b; ++j)
                                       { 
                                         tablica[i][j] = rand() % 10;
                                         }
                                  }
for(int i = 0; i < a; i++)                                //skomplikowany system wyświetlania
                 {
                 cout<<" ";                             
                 for(int j=0; j<b; j++)               
                     {
                             if(j+2==b)           //sprawdza czy to przedostatna pozycja w wierszu tablicy.
                             {                    //dlatego wiemy kiedy wstawic "="
                             
                             if (tablica[i][j]!=0)     //jesli nasz wspolczynnik jest rozny od zera to jest wyswietlany
                                    {
                                     cout<<tablica[i][j];
                                    }
                             switch (j+1)                     //wyswietla inna nazwe dla kolejnych zmiennych
                                    {case 1:cout<<"x"; break;
                                    case 2:cout<<"y"; break;
                                    case 3:cout<<"z"; break;
                                    case 4:cout<<"w"; break;
                                    case 5:cout<<"v"; break;
                                    case 6:cout<<"u"; break;
                                    case 7:cout<<"t"; break;
                                    case 8:cout<<"s"; break;
                                    case 9:cout<<"r"; break;
                                    case 10:cout<<"q"; break;
                                    }
                             cout<<"="; 
                             }
                             else
                             {
                                 if(j+1==b)                 //sprawdza czy to już wynik
                                 {cout<<tablica[i][j];
                                 }
                             else                         //w każdym innym przypadku wyświetla współczynnik
                             {                            //oraz znak "+"
                             if (tablica[i][j]!=0)
                                    {
                                     cout<<tablica[i][j];
                                    }
                             switch (j+1)
                                    {case 1:cout<<"x"; break;
                                    case 2:cout<<"y"; break;
                                    case 3:cout<<"z"; break;
                                    case 4:cout<<"w"; break;
                                    case 5:cout<<"v"; break;
                                    case 6:cout<<"u"; break;
                                    case 7:cout<<"t"; break;
                                    case 8:cout<<"s"; break;
                                    case 9:cout<<"r"; break;
                                    case 10:cout<<"q"; break;
                                    }
                             cout<<"+";
                             }
                             }
                     }
             cout<<endl;
             cout<<endl;
             }
getch();
}
ODPOWIEDZ