Novo

Forum kao aplikacija na telefonu

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

  • 6 odgovora
  • 8.408 pregleda

Najnovija ↓

[Zadatak] Nizovi: Generisanje, sabiranje, sortiranje 02.01.2008. u 18:14 · pre 229 meseci #1
Zadatak je sledeci napraviti program koji generise dva niza po 10 clanova koristeci opciju rand zatim napraviti treci nizi ciji su clanovi zbir prvih pet clanova prva dva niza. i zatim sortirati prva dva niza uzlazno. Svasta sam ja uradio i nesto napravio ali mi je problem sabiranje dva niza ovako kako sam ja uradio radi ako su clanovi nizova koje sabiram jednocifreni, ako nisu onda nastaje problem.Pogledajte pa ako ko moze da mi pomogne bio bih zahvalan.
Code:

#include<stdio.h>
int main()
{
    int a[10];
    int b[10];
    int c[5];
    int i;
    int j;
    int k;

    /* Unosenje clanova niza */
    for(i=0;i<10;i++){
        a[i]=rand();
    }
    for(i=0;i<10;i++){
        b[i]=rand();
    }

    /* Ispisivanje nizova */
    printf("\nPrvi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", a[i]);
    }

    printf("\nDrugi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", b[i]);
    }
    printf("\n");

    /* Sabiranje nizova */
    for(i=0;i<5;i++){
        for(j=0;j<5;j++){
            for(k=0;k<5;k++){
                c[k]=a[i]+b[j];
            }
        }
    }
    printf("\nZbir prvih pet clanova nizova je: ");
    for(i=0;i<5;i++){
        printf("%d ", c[i]);
    }


    /* Sortiranje niza */
    printf("\n");
    for(i=0;i<10;i++){
        for(j=i+1;j<10;j++){
            if(a[i]>a[j]){
                k=a[i];
                a[i]=a[j];
                a[j]=k;
            }
        }
    }
    for(i=0;i<10;i++){
        for(j=i+1;j<10;j++){
            if(b[i]>b[j]){
                k=b[i];
                b[i]=b[j];
                b[j]=k;
            }
        }
    }
    /* Ispisivanje sortiranih nizova */
    printf("\nSortiran prvi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", a[i]);
    }
    printf("\nSortiran drugi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", b[i]);
    }
    printf("\n");
}
Potpis
In the kingdom of the blind one-eye man is the king.
Re: [Zadatak] Nizovi: Generisanje, sabiranje, sortiranje 02.01.2008. u 19:43 · pre 229 meseci #2
Prvo, podijeli ove rand() vrijednosti da dobijes neke manje brojeve...
Drugo, zasto pri sabiranju trebas 3 petlje, kada se sve rijesi sa jednom?

Code:


#include<stdio.h>

int main()
{
    int a[10];
    int b[10];
    int c[5];
    int i;
    int j;
    int k;

    /* Unosenje clanova niza */
    for(i=0;i<10;i++){
        a[i]=rand() % 30;
    }
    for(i=0;i<10;i++){
        b[i]=rand() % 30;
    }

    /* Ispisivanje nizova */
    printf("\nPrvi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", a[i]);
    }

    printf("\nDrugi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", b[i]);
    }
    printf("\n");

    /* Sabiranje nizova */
    for(i=0;i<5;i++){
     c[i]=a[i]+b[i];
    }
    
    printf("\nZbir prvih pet clanova nizova je: ");
    for(i=0;i<5;i++){
        printf("%d ", c[i]);
    }


    /* Sortiranje niza */
    printf("\n");
    for(i=0;i<10;i++){
        for(j=i+1;j<10;j++){
            if(a[i]>a[j]){
                k=a[i];
                a[i]=a[j];
                a[j]=k;
            }
        }
    }
    for(i=0;i<10;i++){
        for(j=i+1;j<10;j++){
            if(b[i]>b[j]){
                k=b[i];
                b[i]=b[j];
                b[j]=k;
            }
        }
    }
    /* Ispisivanje sortiranih nizova */
    printf("\nSortiran prvi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", a[i]);
    }
    printf("\nSortiran drugi niz: ");
    for(i=0;i<10;i++){
        printf("%d ", b[i]);
    }
    printf("\n");
}


Re: [Zadatak] Nizovi: Generisanje, sabiranje, sortiranje 02.01.2008. u 20:08 · pre 229 meseci #3
Prvo za funkciju rand potreban je header #include <stdlib.h>.
Kada koristis rand() funkciju imas mogucnost da ogranicis opseg "biranja brojeva".

Code:

/* Unosenje clanova niza */
    for(i=0;i<10;i++){
        a[i]=rand() %99;
    }
    for(i=0;i<10;i++){
        b[i]=rand() %99;
    }

Ovako u nizu se mogu naci brojevi 0 - 99.
U tvom slucaju nije bilo ogranicenja i samim tim su i brojevi bili ogromni. Jer kada stavis rand() bez ogranicenja u nizu se mogao naci bilo koji broj koji moze stati u int.
Potpis
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
Re: [Zadatak] Nizovi: Generisanje, sabiranje, sortiranje 19.01.2008. u 01:05 · pre 228 meseci #7
Izvlacenje i sabiranje nizova mozes da uradis u jednoj for petlji
Code:

#include<iostream.h>
int main()
{
    int a[10];
    int b[10];
    int c[5];
    int i;
    int j;
    int k;

    /* Unosenje clanova niza  & sabiranje */
    for(i=0;i<10;i++)
    {
        a[i] = rand() %100;
        b[i] = rand() %100;
        if (i<5)
            c[i]=a[i]+b[i];
    }
    /* Ispisivanje nizova */
    printf("\nPrvi niz: ");
    for(i=0;i<10;i++)
        printf("%d ", a[i]);
    printf("\nDrugi niz: ");
    for(i=0;i<10;i++)
        printf("%d ", b[i]);
    printf("\n");
    printf("\nZbir prvih pet clanova nizova je: ");
    for(i=0;i<5;i++)
        printf("%d ", c[i]);

    /* Sortiranje niza */
    printf("\n");
    for(i=0;i<10;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if(a[i]>a[j])
            {
                k=a[i];
                a[i]=a[j];
                a[j]=k;
            }
        }
    }
    for(i=0;i<10;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if(b[i]>b[j])
            {
                k=b[i];
                b[i]=b[j];
                b[j]=k;
            }
        }
    }

    /* Ispisivanje sortiranih nizova */
    printf("\nSortiran prvi niz: ");
    for(i=0;i<10;i++)
        printf("%d ", a[i]);

    printf("\nSortiran drugi niz: ");
    for(i=0;i<10;i++)
        printf("%d ", b[i]);
    printf("\n");

    return 0;
}
Potpis
HomePage http://www.eurora3d.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme