Witam!
Pozwólcie, że przejdę od razu do rzeczy. Otóż miałem napisać funkcję w ANSI C, która usunie z tablicy elementy ujemne. Operacja miała zostać wykonana bez użycia dodatkowej tablicy, a finalna tab nie mogła zawierać dziur. Udało mi się napisać kod, który zamieszczam poniżej. Wszystko ładnie się kompiluje, rezultaty pokrywają się z oczekiwanymi, jednak Profesor chce, aby funkcja nie opierała się na kopii elementów(trzeba użyć wskaźników). Nie jestem w stanie niczego wymyślić, dlatego proszę o pomoc. Z góry dzięki!
int usunUjemneElementy(int t[], int n)
{
int i,j,c=0;
for(i=0;i<n;i++)
{
if(t[i]<0) t[i]=0;
else c++;
}
for(i=0;i<n;i++)
{
if(t[i]!=0)
{
for(j=0;j<i;j++)
{
if(t[j]==0)
{
t[j]=t[i];
t[i]=0;
j=i;
}
}
}
}
return c;
}
dodanie znacznika <code class="c">
- @furious programming