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

potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!

[es] :: C/C++ programiranje :: potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!

[ Pregleda: 2356 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

chalka
chalka chalka
BiH

Član broj: 74148
Poruke: 16
*.dlp486.bih.net.ba.



Profil

icon potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!12.12.2005. u 18:25 - pre 194 meseci
rijesio sam kako sam znao ali kada se jave iste sume(min ili max) u vise redova ili kolona kako napisati da se ta suma nalazi i u tom drugom odnosno nekom redu

zadatak glasi:
2. Napisati C program koji sa standardnog ulaza učitava elemente realne matrice
dimenzija 5 x 5, te izračunava sumu elemenata svake kolone i sumu elemenata
svakog reda.
Za unos i pohranjivanje matrice koristite dvodimenzionalno polje, dok za
pohranjivanje suma po redovima i kolonama trebate koristiti jednodimenzionalno
polje.
Program također treba pronaći:
- u kojoj koloni je najmanja suma,
- u kojem redu je najveća suma,
te ispisati na standardni izlaz unesenu matricu, redne brojeve i sume pronađene
kolone, odnosno, reda.

moj pokusaj:
Code:


#include <stdio.h>
int main()
{
    /*deklaracija polja i varijabli*/
    float A[5][5],sr[5],sk[5],m=0,min,max;
    int i,j,r,e;
    /*unos matrice A*/
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("\nUnesite [%d][%d] element matrice A: ", i,j);
            scanf("%f", &A[i][j]);
        }
    }
    /*ispis matrice A*/
    printf("\nMatrica A izgleda ovako: \n");
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("\t%.2f", A[i][j]);
        }
        printf("\n");
    }

    /*zbrajanje po redovima*/
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            m+=A[i][j];
        }
        sr[i]=m;
        m=0;
    }
    /*ispis suma redova*/
    for(i=0;i<5;i++)
    {
    printf("\nSuma %d. reda je: %f", i+1,sr[i]);
    }
    printf("\n");
    /*ispis majvece sume*/
    max=sr[0];
    for(i=1;i<5;i++)
    {
        if(sr[i]>=max)
        {
            max=sr[i];
            r=i;
        }
    }
    printf("\nNajveca suma je u %d. redu i iznosi %f \n", r+1,max);
    printf("\n");


    /*zbrajanje po koloni*/
    m=0;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            m+=A[j][i];
        }
        sk[i]=m;
        m=0;
    }
    /*ispis suma kolona*/
    for(i=0;i<5;i++)
    {
    printf("\nSuma %d. kolone je: %f", i+1,sk[i]);
    }
    printf("\n\n");

    /*odredjivanje majmanje sume kolona*/
    min=sk[0];
    for(i=1;i<5;i++)
    {
        if(sk[i]<=min)
        {
            min=sk[i];
            e=i;
        }
    }
    /*ispis najmanje sume kolone*/
    printf("\nNajmanja suma je u %d. koloni i iznosi %f \n", e+1,min);
    printf("\n");

    return 0;
}


znam da se moglo ovo uraditi i krace ali zapetljam se kad kremen da skratim pa sad za sad znam ovako
problem:
e sad npr. desi se da su dvije minimalne sume i sada je meni problem kako navesti da se minimalna suma nalazi u dva reda ali da navedem brojeve tih redova ili kolone
nadam se da cete me shvatiti
molim pomozite hitno mi je a treba mi za fax!
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+633 Profil

icon Re: potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!12.12.2005. u 18:48 - pre 194 meseci
Zašto ne staviš ispis u petlju, npr


Code:

    /*odredjivanje majmanje sume kolona*/
    min=sk[0];
    for(i=1;i<5;i++)
        if(sk[i]<=min)
            min=sk[i];

    for (i=0; i<5; i++)
       if ( min == sk[i] )
          printf("\nNajmanja suma je u %d. koloni i iznosi %f \n", i+1, min);


a ako hoces lepsi ispis, mozes prethidno da utvrdis da li ima samo jedna ili vise:

// NETESTIRANO !!!

// PSEUDO

Code:

    int jedna_ili_vise = 0;
    for (i=0; i<5; i++)
         if ( min == sk[i] )
            ++jedna_ili_vise;


pa onda...

if ( jedna_ili_vise == 1 )
{
   // onaj tvoj slucaj
}
else
{
   // isti minimum ( %d ) se javlja u ( %d ) kolona, max,  jedna_ili_vise
   // pa onda ona moja petlja...

}




[Ovu poruku je menjao X Files dana 12.12.2005. u 19:49 GMT+1]
 
Odgovor na temu

chalka
chalka chalka
BiH

Član broj: 74148
Poruke: 16
*.dlp103.bih.net.ba.



Profil

icon Re: potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!13.12.2005. u 01:47 - pre 194 meseci
mnogo hvala
nisam bas ovako uradio ali ideja je ista
sve radi ok
i dodao sam jos neki uslov sad je ok
jos jednom hvala
(nisam se mogao sjetiti one petlje koja ispitiva koliko puta se pojavljuje isti min ili max)
 
Odgovor na temu

[es] :: C/C++ programiranje :: potrebna pomoc pri rijesavanju zadataka iz c-a! HITNO!

[ Pregleda: 2356 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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