Zerowanie tych samych elementów tablicy.

Odpowiedz Nowy wątek
2014-12-31 16:25
0
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[]) 
{   
    int tab[] = {2,2,3,4,1,2,3,53,5,6}  ;
    int j,i,a;
 
    for(j=0; j<=9; j++)
    {
        for(i=0; i<=9; i++)
        {
            if(tab[j] == tab[i])
                tab[i] = 0;
            else
                continue;
        }
    }
 
    for(a=0; a<=9; a++)
    {
        printf("%d " ,tab[a]);
    }
 
    return 0;
}

Program ma za zadanie wyzerować elementy w tablicy które się powtarzają . Np {2,2,3,4,1,2,3,53,5,6} wynik : {2,0,3,4,1,0,0,53,5,6}

Wynikiem powyższego kodu to same Zera . Próbowałem śledzić jak to działa i wydaje się być ok a jednak nie działa ...

Pozostało 580 znaków

2014-12-31 16:27
0
    for(j=0;j<sizeof(tab)/sizeof(*tab);++j) for(i=0;i<j;++i) if(tab[j]==tab[i]) tab[i=j]=0;

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2014-12-31 16:46
0

Dzięki , działa . Musze trochę poanalizować , bo jak to nie mam pojęcia .

Jeśli chciałbyś mi wytłumaczyć jak działa

or(j=0;j<sizeof(tab)/sizeof(*tab);++j)

?

Pozostało 580 znaków

2014-12-31 17:59
0

tab - twoja tablica
*tab - pierwszy element tablicy
sizeof - http://en.cppreference.com/w/cpp/language/sizeof
for - http://www.cplusplus.com/doc/tutorial/control/#for


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon, 2014-12-31 18:24
&lt;plain&gt;*tab&lt;/plain&gt; - Patryk27 2014-12-31 18:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0