Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno

[es] :: C programiranje :: C za početnike :: [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno

[ Pregleda: 708 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dnkol
Dragan Kolarevic
Nis

Član broj: 94720
Poruke: 7
*.sbb.co.yu.



Profil

icon [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno14.05.2006. u 12:55

Napisati program kojim se matrica A(NxN) medifikuje tako da elementi iznad glavne dijagonale u svakoj vrsti budu ciklicno pomerani za K mesta udesno (K se unosi sa tastature), i nalazi maksimalni element za elemente ispod glavne dijagonale. Prikazati matricu pre i posle transformacije kao i maksimalni element za elemente ispod glavne dijagonale.


Ukoliko neko zna kako da resi problem neka napise kod na C-u,pascalu ili neka jednostavno recima opise sta i kako da uradim!
dnk
14.05.2006. u 12:55 

n1tr0
Student of Software Engineering
Cortanovci / NS

Član broj: 55279
Poruke: 348
80.93.231.*

Sajt: blog.bloggernauts.net


Profil

icon Re: [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno14.05.2006. u 14:58
Npr. imas ovakvu matricu:
1 3 9 5 6 7
8 1 7 4 0 2
6 2 1 6 2 7
3 8 9 1 7 2
2 5 7 2 1 6
7 8 9 6 3 1
(ove jedinice sam stavio da uocis glavnu dijagonalu)
Sada treba rotirati za npr. dva mesta udesno, pa matrica treba da izgleda ovako:
1 6 7 3 9 5
8 1 0 2 7 4
6 2 1 2 7 6
3 8 9 1 7 2
2 5 7 2 1 6
7 8 9 6 3 1
Ako prolazis kroz matricu pomocu dve petlje sa i i j brojacima(i za vrste i j za kolone) treba da znas da kod elemenata na glavnoj dijagonali i i j su jednaki. Kada rotiras elemente u istoj vrsti(a uslov je da su iznad g.d.), znaci da kada to radis za neku vrstu i se ne menja, a j treba da bude vece od i.
Pokusaj sada sam napisati program, a ako naidjes na problem javi, pa cemo ti rado pomoci...
http://n1tr0.bloggernauts.net - n1tr0's blog
http://blog.bloggernauts.net - My Tech (B)log
http://www.google.com - pre postavljanja glupih pitanja
14.05.2006. u 14:58 

dnkol
Dragan Kolarevic
Nis

Član broj: 94720
Poruke: 7
*.sbb.co.yu.



Profil

icon Re: [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno15.05.2006. u 18:24
Ok ali nisam postigo nista, ako moze malo detaljnije
dnk
15.05.2006. u 18:24 

IronTIRANIN
Milos Manojlovic
Nis

Član broj: 12974
Poruke: 59
*.medianis.net.



Profil

icon Re: [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno18.05.2006. u 16:20
Dakle, posto zvanicno nismo radili funkcije pa ce zadatak da ti priznaju ako sve radis "pesice", evo prijatelju kako sam ja to zamislio.
Code:

#include <stdio.h>

main()
{
    int A[10][10];
    int i,j,k,n,p,pom,max_el;

    //**************************************************
    // UNOS MATRICE
    printf("\n\tUnesite dimenziju kvadratne matrice : ");
    scanf("%d",&n);
    for (i=0; i<n; i++)
        for (j=0; j<n; j++)
        {
            printf("\tUnesite vrednost elementa A[%d,%d] = ",i,j); 
            scanf("%d",&A[i][j]);
        }

    //**************************************************
    // STAMPANJE MATRICE PRE PROMENE
    for (i=0; i<n; i++)
    {
        printf("\n");
        for (j=0; j<n; j++)
            printf("\t%d",A[i][j]);
    }
    printf("\n\n");

    //**************************************************
    // POMERANJE ELEMENATA IZNAD GLAVNE DIJAGONALE ZA P MESTA UDESNO
    printf("\n\tZa koliko mesta treba pomeriti elemente vrste\? Odgovor : za ");
    scanf("%d",&p);
    for (k=0; k<p; k++)
    {
        for (i=0; i<n; i++)
        {
            pom=A[i][n-1];
            for (j=n-1; j>0; j--)
                if (i<j)
                    A[i][j]=A[i][j-1];
            A[i][i+1]=pom;
        }
    }

    //**************************************************
    // NALAZENJE NAJVECEG ELEMENATA ISPOD GLAVNE DIJAGONALE
    max_el=A[1][0];
    for (i=0; i<n; i++)
        for (j=0; j<n; j++)
            if (i>j)
                if (A[i][j]>max_el)
                    max_el=A[i][j];    
    
    //**************************************************
    // STAMPANJE MATRICE NAKON PROMENE I MAX_EL
    for (i=0; i<n; i++)
    {
        printf("\n");
        for (j=0; j<n; j++)
            printf("\t%d",A[i][j]);
    }
    printf("\n\n\tNajveci element ispod glavne dijagonale je %d.\n\n",max_el);

}

Naravno da je ovo moglo da se uradi mnogo lakse, al evo radio sam postupno da bi tebi bilo jasno. U svakom slucaju, najbitnije je da program radi a i da tebi bude jasno :) Pozdrav, ako jos nesto treba, tu sam.
18.05.2006. u 16:20 

[es] :: C programiranje :: C za početnike :: [Zadatak] Ciklicno pomeranje elemenata matrice za K mesta udesno

[ Pregleda: 708 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.