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

nizovi; sabiranje dva niza; problem;

[es] :: C programiranje :: C za početnike :: nizovi; sabiranje dva niza; problem;

[ Pregleda: 694 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NooND
Out there

Član broj: 149987
Poruke: 43
*.bl.pttrs.net.



Profil

icon nizovi; sabiranje dva niza; problem;02.01.2008. u 17:14

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");
}

In the kingdom of the blind one-eye man is the king.
02.01.2008. u 17:14 

Sephiroth?
Biondic Denis
Balkan @ net

Član broj: 79406
Poruke: 77
*.bi2.dlp168.bih.net.ba.



Profil

icon Re: nizovi; sabiranje dva niza; problem;02.01.2008. u 18:43
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");
}



Dvije stvari su bezgranicne : svemir i ljudska glupost, a za ovo prvo nisam ni siguran.
~ Albert Einstein
02.01.2008. u 18:43 

xeron
Sarajevo

Član broj: 25909
Poruke: 128
*.PPPoE-8149.sa.bih.net.ba.



Profil

icon Re: nizovi; sabiranje dva niza; problem;02.01.2008. u 19:08
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.
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!\n");
exit(42);
}
02.01.2008. u 19:08 

NooND
Out there

Član broj: 149987
Poruke: 43
*.telrad.net.



Profil

icon Re: nizovi; sabiranje dva niza; problem;03.01.2008. u 10:44
Hvala
In the kingdom of the blind one-eye man is the king.
03.01.2008. u 10:44 

heheh
Split

Član broj: 5705
Poruke: 37
*.adsl.net.t-com.hr.

ICQ: 91014514
Sajt: www.heheh.freedothosting...


Profil

icon Re: nizovi; sabiranje dva niza; problem;15.01.2008. u 01:29
samo mali dodatak
rand() %99
daje ostatke pri djeljenju s 99, znaci brojeve 0-98

i prije toga stavis srand(time(0));
tako da ne dobivas uvik iste brojeve...:)
mislim, dakle jesam...
15.01.2008. u 01:29 

butcher87

Član broj: 148902
Poruke: 30
*.3dnet.co.yu.



Profil

icon Re: nizovi; sabiranje dva niza; problem;16.01.2008. u 15:43
Citat:
heheh:
i prije toga stavis srand(time(0));
tako da ne dobivas uvik iste brojeve...:)


Ili:
Code:

srand((unsigned) time (NULL));

:)
16.01.2008. u 15:43 

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 558
195.252.105.*

Sajt: www.eurora3d.com


Profil

icon Re: nizovi; sabiranje dva niza; problem;19.01.2008. u 00:05
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;
}

char $[12] = "0D3 aroruE0";char* $$ = &$[10];
while(*(--$$)!='0')
cout << (char)*$$;
19.01.2008. u 00:05 

[es] :: C programiranje :: C za početnike :: nizovi; sabiranje dva niza; problem;

[ Pregleda: 694 | Odgovora: 6 ]

Postavi temu Odgovori

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