rendered paste body#include <iostream>
using namespace std;
//****
void los(int **tab, int n);
void zero(int **tab, int n);
void pr(int **tab, int n);
void kwa(int **tab, int n);
void tr(int **tab, int n);
void wypi(int **tab, int n);
//****
int main()
{
srand((unsigned)time(NULL));
int n;
int **tab;
char p;
cout << "podaj rozmiar tablicy: ";
cin >> n;
//**
tab = new int *[n]; // tworze pierwszy wymiar
for(int i=0; i<n; i++) // a tu kolejny
tab[i] = new int [n];
//**
los(tab,n);
//**
do{
system("cls");
cout << "\tCo chcesz teraz zrobic\?"
<< "\n\t\t1) Wyzeruj tablice."
<< "\n\t\t2) Wylosuj wartosci do tablicy."
<< "\n\t\t3) Narysuj przekatne z tych samych wartosci"
<< "\n\t\t4) Narysuj takie kwadraciki"
<< "\n\t\t5) Narysuj trojkat"
<< "\n\t\t0) Zakoncz" << endl;
cin >> p;
switch(p)
{
case '0':
//**
for(int i=0; i<n; i++) // kasowanie tablicy
delete [] tab[i];
delete [] tab;
return 0;
//**
case '1':
system("cls");
zero(tab,n);
wypi(tab,n);
system("pause");
break;
case '2':
system("cls");
los(tab,n);
wypi(tab,n);
system("pause");
break;
case '3':
system("cls");
pr(tab,n);
wypi(tab,n);
system("pause");
break;
case '4':
system("cls");
kwa(tab,n);
wypi(tab,n);
system("pause");
break;
case '5':
system("cls");
tr(tab,n);
wypi(tab,n);
system("pause");
break;
default:
system("cls");
cout << "\nZly wybor.. sproboj jeszcze raz\n";
system("pause");
break;
}
}while(1);
}
//****
void los(int **tab, int n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++) tab[j][i]=(int) rand() % 9 ;
}
}
//****
void zero(int **tab, int n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
tab[j][i]=0;
}
}
}
//****
void wypi(int **tab, int n)
{
for(int j=0; j<n; j++)
{
for(int i=0; i<n; i++)
{
cout << tab[j][i] << " ;";
}
cout << endl;
}
}
//****
void pr(int **tab, int n)
{
int a;
cout << "Podaj wartosc od 0 do 9: ";
cin >> a;
for(int i=0; i<n; i++)
{
tab[i][i] = a;
}
for(int i=(n-1), j=0; j<n; i--, j++)
{
tab[i][j] = a;
}
}
//****
void kwa(int **tab, int n)
{
int a;
cout << "Podaj wartosc od 0 do 9: ";
cin >> a;
if(n%2)
{
int b=(n-1)/2;
for(int i=0; i<n; i++)
{
tab[i][b]=a;
tab[b][i]=a;
}
}
else
{
int c=n/2;
for(int i=0; i<n; i++)
{
tab[i][c]=a;
tab[c][i]=a;
}
}
}
//****
void tr(int **tab, int n)
{
int a;
cout << "Podaj wartosc od 0 do 9: ";
cin >> a;
int r=n%2;
if(r)
{
int b=(n-1)/2;
for(int i=0, j=0;j<b; j++, i=(i+2))
{
tab[i][j]=a;
tab[(i+1)][j]=a;
}
tab[n-1][b]=a;
for(int i=n-2, j=b+1; j<n; i=i-2, j++)
{
tab[i][j]=a;
tab[i-1][j]=a;
}
}
else
{
int c=n/2;
for(int i=0, j=0; j<c; j++, i=(i+2))
{
tab[i][j]=a;
tab[i+1][j]=a;
}
for(int i=n-1, j=c; j<n; j++, i=i-2)
{
tab[i][j]=a;
tab[i-1][j]=a;
}
}
}