[ Sifrara @ 23.01.2010. 00:54 ] @
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]
[ Picsel @ 23.01.2010. 09:42 ] @
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)
[ Sifrara @ 23.01.2010. 10:34 ] @
Nisam to zapazio..Hvala puno..