All pastes #736343 Raw Edit

vikary

public text v1 · immutable
·published 2007-10-14 13:17 UTC
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;   
        }
    }
}