Anonymous Anonymous - 1 month ago
199 0

Zadatak s labosa

C++

Zadatak s labosa

/*
Napišite program koji od korisnika traži uèitavanje prirodnog broja n za koji mora vrijediti 2 < n < 10.
Unos se ponavlja sve dok unesena vrijednost ne bude u odgovarajuæem intervalu.
Potom korisnik bira želi li ispisati elemente iznad (+) ili ispod (-) sporedne dijagonale.
Odabir realizirati pomoæu naredbe switch.
Na ekranu se ispisuje odgovarajuæi dio kvadratne matrice èiji elementi su znakovi *,
a potom i polje èiji elementi su zbroj retka i stupca svakog od ispisanih elemenata.

PRIMJER 1:
Unesi n: 10
Unesi n: 2
Unesi n: 5
+ iznad sporedne dijagonale
- ispod sporedne dijagonale
Odabir: +
* * * *
* * *
* *
*
2 3 4 5 3 4 5 4 5 5

PRIMJER 2:
Unesi n: 6
+ iznad sporedne dijagonale
- ispod sporedne dijagonale
Odabir: -
*
* *
* * *
* * * *
* * * * *
8 8 9 8 9 10 8 9 10 11 8 9 10 11 12*/

#include <iostream>
const int M=200;
using namespace std;
int main()
{
    int n,b=0;
    int mat[M][M];
    int zbroj[M];
    char z;
    do
    {
    cout<<"Unesite velicinu kvadratne matrice:\n";
    cin>>n;
    }while(n<2 || n>10);
    cout<<"\nZelite li ispisati elemente iznad (+) ili ispod (-) sporedne dijagonale?\n";
    cin>>z;
    switch(z)
    {
    case '+':
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(i+j<n-1)
                {
                    cout<<"*";
                    zbroj[b]=(i+1)+(j+1);
                    b++;
                }
                else
                    cout<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
        for(int i=0;i<b;i++)
            cout<<zbroj[i]<<" ";
        cout<<endl;
    break;
    case '-':
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(i+j>n-1)
                    {
                        cout<<"*";
                        zbroj[b]=(i+1)+(j+1);
                        b++;
                    }
                else
                    cout<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
        for(int i=0;i<b;i++)
            cout<<zbroj[i]<<" ";
    break;
    default :
        cout<<"\nPoglesan unos, unesite +/- ponovo:";
        cin>>z;
    break;
    }
    cout<<endl;
    return 0;
}