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

Problem pri sortiranju niza

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem pri sortiranju niza

[ Pregleda: 1649 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sifrara
Darko Vasic
Lju

Član broj: 128524
Poruke: 7
91.148.81.*



Profil

icon Problem pri sortiranju niza23.01.2010. u 00:54 - pre 173 meseci
Code:

#include <stdio.h>
#define MAX 20
void unos (int a[MAX],int b[MAX],int *n,int *m){
    int i;
    printf ("Unesite elemente niza A:\n");
    for (i=0;i<*n;i++) {
        printf ("a[%d]=",i);
        scanf ("%d",&a[i]);
    }
    printf ("Unesite elemente niza B:\n");
    for (i=0;i<*m;i++) {
        printf ("b[%d]=",i);
        scanf ("%d",&b[i]);
    }
}
void ispis (int a[MAX],int b[MAX],int *n,int *m) {
    int i;
    printf ("A={");
    for (i=0;i<*n;i++) {
        printf ("%d",a[i]);

        if (i==n-1) { printf ("");
    }else {printf (", ");}} printf ("}\n");
    printf ("B={");
    for (i=0;i<*m;i++) {
         printf ("%d",b[i]);

         if (i==m-1) { printf ("");
    }else{printf (", ");} } printf ("}\n");

}
void sor_opa (int a[MAX],int *n) {
    int i,j,k;
    for (i=0;i<*n-1;i++) {
        for (j=i+1;j<*n;j++)
        if (a[i]>a[j]) {
            k=a[i];a[i]=a[j];a[j]=k;
        }
    } printf ("A={");
    for (i=0;i<*n;i++) {
        printf (" ");
        printf ("%d",a[i]);
    } printf ("}\n");
} void sor_ras (int b[MAX],int *m) {
    int i,j,c;
    for (i=0;i<*m-1;i++) {
        for (j=i+1;j<*m;j++)
        if (b[i]<b[j]) {                                          [b]//ZASTO NECE OVAJ NIZ b[MAX] DA MI SORTIRA PO RASTUCEM REDOSLEDU[/b]
            c=b[i];b[i]=b[j];b[j]=c;
        } printf ("B={");
        for (i=0;i<*m;i++) {
            printf (" ");
            printf ("%d",b[i]);
        }printf ("}\n");
    }
}


int main () {
    int n,m,a[MAX],b[MAX];
    do {
        printf ("Unesite broj elemenata niza A(broj mora biti paran,maksimalno %d)\n",MAX);
        scanf ("%d",&n);
        }while ((n%2)!=0);
        do {
        printf ("Unesite broj elemenata niza B(broj mora biti paran,maksimalno %d)\n",MAX);
        scanf ("%d",&m);
        }while ((m%2)!=0);
        unos (a,b,&n,&m);
        ispis(a,b,&n,&m);
        sor_opa(a,&n);
        sor_ras(b,&m);
        return 0;
}


[Ovu poruku je menjao X Files dana 23.01.2010. u 10:20 GMT+1]
 
Odgovor na temu

Picsel
Beograd

Član broj: 39817
Poruke: 440
95.180.74.*



+7 Profil

icon Re: Problem pri sortiranju niza23.01.2010. u 09:42 - pre 173 meseci
Bile su ti zagrade na pogresnom mestu u funkciji, trebalo bi ovako
Code:
void sor_ras (int b[MAX],int *m) {
    int i,j,c;
    for (i=0;i<*m-1;i++) {
        for (j=i+1;j<*m;j++)
        if (b[i]<b[j]) {                                          
            c=b[i];b[i]=b[j];b[j]=c;
        }} printf ("B={");
        for (i=0;i<*m;i++) {
            printf (" ");
            printf ("%d",b[i]);
        }printf ("}\n");
    
}


I, usput, zamenio si rastuce i opadajuce, sor_opa zapravo sortira po rastucem, a sor_ras po opadajucem. (1 2 3 4 - rastuce, 4 3 2 1 - opadajuce)
 
Odgovor na temu

Sifrara
Darko Vasic
Lju

Član broj: 128524
Poruke: 7
91.148.92.*



Profil

icon Re: Problem pri sortiranju niza23.01.2010. u 10:34 - pre 173 meseci
Nisam to zapazio..Hvala puno..
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem pri sortiranju niza

[ Pregleda: 1649 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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