Kod: Zaznacz cały
#include <iostream>
using namespace std;
const int maximum=200;
class ListaTab{
int tab[maximum];
public:
ListaTab(){
tab[0]=0;
}
void WstawElement(int x);
void WypiszListe();
};
void ListaTab::WstawElement(int x)
{
if(tab[0]<maximum-1)
tab[++tab[0]]=x;
}
void ListaTab::WypiszListe()
{
for (int i=1;i<=tab[0];i++)
cout << tab[i] << " -> ";
cout << "."<< endl;
}
void macierz(int wymiar_macierzy);
void lista(int ile_list);
int main(){
cout << "Podaj ilosc wierzcholkow: ";
int liczba;
cin >> liczba;
cout << "Wybierz sposob
"
" 1) macierz
"
" 2) lista
"
"Moj wybor: ";
int wybor;
cin >> wybor;
if (wybor==1)
macierz(liczba);
if (wybor==2)
lista(liczba);
if (wybor!=1 && wybor!=2){
cout << "Koniec dzialania programu.
";
system("pause");
return 1;
}
system("pause");
return 1;
}
void macierz(int wymiar_macierzy){
int macierz_sasiedztwa[wymiar_macierzy][wymiar_macierzy];
int i,j=0;
for(i=0;i<wymiar_macierzy;i++)
for(j=0;j<wymiar_macierzy;j++)
macierz_sasiedztwa[i][j]=0;
for(i=0;i<wymiar_macierzy;i++){
cout << "Ilu sasiadow ma element " << i+1 << "? ";
int ile;
cin >> ile;
if(ile>0){
cout << "-> Podaj sasiadow " << i+1 << ": ";
int tyle;
for(j=0;j<ile;j++){
cin >> tyle;
macierz_sasiedztwa[i][tyle-1]=1;
}
}
}
cout << "
Macierz sasiedztwa " << endl;
for(i=0;i<wymiar_macierzy;i++){
for(j=0;j<wymiar_macierzy;j++)
cout << macierz_sasiedztwa[i][j] << " ";
cout<<endl;
}
}
void lista(int ile_list){
cout << "
lista sasiedztwa.
";
ListaTab tablica_list[ile_list];
cout <<
"Podawaj sasiadow wpisujac ich numery i oddzielajac je spacja." << endl;
int i,j;
for(i=0;i<ile_list;i++){
cout << "Ilu sasiadow ma element " << i+1 << "? ";
int ile;
cin >> ile;
if(ile>0){
cout << "-> Podaj sasiadow " << i+1 << ": ";
int tyle;
for(j=0;j<ile;j++){
cin >> tyle;
tablica_list[i].WstawElement(tyle);
}
}
}
for(i=0;i<ile_list;i++){
cout << "Sasiedzi numeru " << i+1 << ": ";
tablica_list[i].WypiszListe();
}
}