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

Kako izbrisati nule izmedju elementa niza?

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako izbrisati nule izmedju elementa niza?

[ Pregleda: 1905 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Batleo
Beograd

Član broj: 335709
Poruke: 17
*.dynamic.isp.telekom.rs.



Profil

icon Kako izbrisati nule izmedju elementa niza?01.03.2017. u 16:18 - pre 92 meseci
Ovo je program koji sortira elemente/brojeve u parne i neparne.
Sve je ok kada ih sortiram, ali kada hocu da od njih napravrim dva posebna niza, sa parnim i neparnim izmedju dva broja ubacuje 0 . Zasto? Kako izbeci to?

Code:


#include <stdio.h>
#define MAX_LENGTH 100

int main()
{
    int arr[MAX_LENGTH];
    int i,n;
    int odd[MAX_LENGTH]={0};
    int even[MAX_LENGTH]={0};

    printf("Enter how many numbers you want to sort : ");
    scanf(" %d",&n);
    printf("Enter numbers : ");

    for(i=0;i<n;i++)
    {
        scanf(" %d",&arr[i]);
    }
    puts("\nEVEN NUMBERS :");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2==0)
        {
        even[i]=arr[i];//hocu da imam array koji sadrzi sve parne brojeve koje korisnik unese i da kasnije upotrebim
        printf("even number from array : %d.\n",arr[i]);
        }
    }
    puts("\nODD NUMBERS : ");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2!=0)
        {
            odd[i]=arr[i];//hocu da imam array koji sadrzi sve neparne brojeve koje korisnik unese i da kasnije upotrebim
            printf("odd numbers from array %d.\n",arr[i]);
        }

    }
    /*DO OVOG DELA PROGRAM RADI ODLICNO, A OVDE UMESTO DA ISPISE NIZ, IZMEDJU SVAKA DVA BROJA UBACI NULU. ZASTO ??? */
    puts("\nArray of your even numbers : ");
    for(i=0;i<n;i++)
    {
        printf("%d ",even[i]);
    }
    puts("\n\nArray of your odd numbers : ");
    for(i=0;i<n;i++)
    {
        printf("%d ",odd[i]);
    }

    return 0;
}


Pokusao sam da ubacim jos 2 brojaca ali onda samo 0 prebaci na kraj niza.

Code:

#include <stdio.h>
#define MAX_LENGTH 100

int main()
{
    int arr[MAX_LENGTH];
    int i,n,j=0,k=0;
    int odd[MAX_LENGTH]={0};
    int even[MAX_LENGTH]={0};

    printf("Enter how many numbers you want to sort : ");
    scanf(" %d",&n);
    printf("Enter numbers : ");

    for(i=0;i<n;i++)
    {
        scanf(" %d",&arr[i]);
    }
    puts("\nEVEN NUMBERS :");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2==0)
        {
        even[j]=arr[i];//hocu da imam array koji sadrzi sve parne brojeve koje korisnik unese i da kasnije upotrebim
        j++;
        printf("even number from array : %d.\n",arr[i]);
        }
    }
    puts("\nODD NUMBERS : ");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2!=0)
        {
            odd[k]=arr[i];//hocu da imam array koji sadrzi sve neparne brojeve koje korisnik unese i da kasnije upotrebim
            k++;
            printf("odd numbers from array %d.\n",arr[i]);
        }

    }
    /*DO OVOG DELA PROGRAM RADI ODLICNO, A OVDE UMESTO DA ISPISE NIZ, IZMEDJU SVAKA DVA BROJA UBACI NULU. ZASTO ??? */
    puts("\nArray of your even numbers : ");
    for(i=0;i<n;i++)
    {
        printf("%d ",even[i]);
    }
    puts("\n\nArray of your odd numbers : ");
    for(i=0;i<n;i++)
    {
        printf("%d ",odd[i]);
    }

    return 0;
}


 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: Kako izbrisati nule izmedju elementa niza?01.03.2017. u 16:23 - pre 92 meseci
Pa kolka je duzina niza a kolko ima parnih i neparnih?
 
Odgovor na temu

Batleo
Beograd

Član broj: 335709
Poruke: 17
*.dynamic.isp.telekom.rs.



Profil

icon Re: Kako izbrisati nule izmedju elementa niza?01.03.2017. u 16:28 - pre 92 meseci
@Branimir Maksimovic Duzina je onolika koliko korisnik unese. Stavio sam da je maksimalno 100 elemenata pri definisanju MAX_LENGTH

Administrator moze da obrise temu. "Provalio" sam resenje, bila je fora sa dva dodatna brojaca.
Code:

#include <stdio.h>
#define MAX_LENGTH 100

int main()
{
    int arr[MAX_LENGTH];
    int i,n,j=0,k=0;
    int odd[MAX_LENGTH]={0};
    int even[MAX_LENGTH]={0};

    printf("Enter how many numbers you want to sort : ");
    scanf(" %d",&n);
    printf("Enter numbers : ");

    for(i=0;i<n;i++)
    {
        scanf(" %d",&arr[i]);
    }
    puts("\nEVEN NUMBERS :");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2==0)
        {
        even[j]=arr[i];
        j++;
        printf("even number from array : %d.\n",arr[i]);
        }
    }
    puts("\nODD NUMBERS : ");
    for(i=0;i<n;i++)
    {
        if(arr[i]%2!=0)
        {
            odd[k]=arr[i];
            k++;
            printf("odd numbers from array %d.\n",arr[i]);
        }

    }

    puts("\nArray of your even numbers : ");
    for(i=0;i<j;i++) // ovde je trebalo j umesto n
    {
        printf("%d ",even[i]);
    }
    puts("\n\nArray of your odd numbers : ");
    for(i=0;i<k;i++)//uvede je trebalo k umesto n
    {
        printf("%d ",odd[i]);
    }

    return 0;
}




 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako izbrisati nule izmedju elementa niza?

[ Pregleda: 1905 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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