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

Pomoc za pocetnike! min 2d matrica

[es] :: C/C++ programiranje :: Pomoc za pocetnike! min 2d matrica

[ Pregleda: 4148 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

LeSaS
nezaposlen
Pozarevac

Član broj: 183532
Poruke: 36
*.dynamic.sbb.rs.



Profil

icon Pomoc za pocetnike! min 2d matrica20.08.2013. u 12:28 - pre 129 meseci
Moze li neko da mi kaze kako da prikazem najmanji broj matrice ?


recimo imam 2d matricu i hteo bih da mi printa min druge kolone.
Citat:

min=a[0][0];
j=1;
for(i=0;i<n;i++)
{
if(a[ i ] [ j ]<min)
min=a[ i ] [ j ];
}
printf("Najmanji druge kolone je %d\n", min);
 
Odgovor na temu

LeSaS
nezaposlen
Pozarevac

Član broj: 183532
Poruke: 36
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc za pocetnike! min 2d matrica20.08.2013. u 13:41 - pre 129 meseci
zaboravih da kazem ovaj kod ne radi.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Pomoc za pocetnike! min 2d matrica20.08.2013. u 15:10 - pre 129 meseci
Citat:

Code:

min=a[0][0];
 j=1;
 for(i=0;i<n;i++)
 {
 if(a[ i ] [ j ]<min)
 min=a[ i ] [ j ];
 }
 printf("Najmanji druge kolone je %d\n", min);


Minimum treba da ima inicijalnu vrednost prvog elementa te druge kolone, a to je "min=a[0][1]", odnosno prema tvom kodu "min=a[0][j]", a to dalje znaci da "j=1" treba da bude ispred ove linije koda.

Prema tvom kodu /netestirano/:
Code:

    j=1;
    min=a[0][j];
    for( i=0; i<n; i++)
    {
        if ( a[ i ] [ j ] < min )
            min = a[i][j];
    }
    printf("Najmanji druge kolone je %d\n", min);

Dalje, obrati paznju na liniju:
for( i=0; i<n; i++)

Vrednost prvog elementa druge kolone si vec uzeo kao potencijalni minimum. Nema potrebe da se opet testira, dakle, mozes da petlju zapocnes od drugog elementa (1).
for( i=1; i<n; i++)

 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Pomoc za pocetnike! min 2d matrica20.08.2013. u 15:23 - pre 129 meseci
Uz pretpostavku da je sve ostalo u redu, program koji si ti ovde napisao uzima kao inicijalnu vrednost za min element a[0][0] koji nije u drugoj koloni, pa rezultat može da bude ili minimalan element druge kolone ili a[0][0], ako je manji od svakog element druge kolone.

Code (c):

  j=1;
  min=a[0][j];
  for(i=1;i<n;i++)
    if(a[i][j]<min)  min=a[i][j];
  printf("Najmanji druge kolone je %d\n", min);
 


Ostali razlozi zbog kojih ti program ne radi bi bili pogrešno deklarisana matrica ili tip podataka za min. Podatak se ispisuje kao da je ceo broj, a ako je ideja da bude double ili float, neće ispisati ispravan rezultat.

Edit: preteče me X Files
 
Odgovor na temu

LeSaS
nezaposlen
Pozarevac

Član broj: 183532
Poruke: 36
*.dynamic.sbb.rs.



Profil

icon Re: Pomoc za pocetnike! min 2d matrica20.08.2013. u 16:43 - pre 129 meseci
Hvala!
Promenio i pomerio j=1 ispred a[0][j] , radi kao san

za slucaj da jos nekoga zanimaju ovi bebi koraci

Code:

#include <stdio.h>

main()
{
    int a[20][20],min,i,j,n;
    printf("Unesite dimenziju matrice \n");
    scanf("%d",&n);
    printf("Unesite %d elemenata matrice \n", n*n);
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        scanf("%d",&a[i][j]);
    j=1;
    min=a[0][j];
    for(i=0;i<n;i++)
    {
        if(a[i][j]<min)
            min=a[i][j];
    }
    printf("Najmanji druge kolone je %d\n", min);
}


[Ovu poruku je menjao LeSaS dana 20.08.2013. u 18:32 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pomoc za pocetnike! min 2d matrica

[ Pregleda: 4148 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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