Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 5.265 pregleda

Najnovija ↓

Pomoc za pocetnike! min 2d matrica 20.08.2013. u 13:28 · pre 160 meseci #1
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);
Re: Pomoc za pocetnike! min 2d matrica 20.08.2013. u 16:10 · pre 160 meseci #3
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++)

Re: Pomoc za pocetnike! min 2d matrica 20.08.2013. u 16:23 · pre 160 meseci #4
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
Re: Pomoc za pocetnike! min 2d matrica 20.08.2013. u 17:43 · pre 160 meseci
izmenjeno 1 put, poslednji put LeSaS 20.08.2013. u 18:32
  1. LeSaS20.08.2013. u 18:32zapis iz teksta poruke
#5
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);
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme