Aktywne Wpisy
stanley___ +64
biedakwsiowy +10
#kiciochpyta jak to możliwe że mając ponadprzeciętne iq stwierdzone psychiatrycznie przy okazji diagnozy autyzmu mam problem z podstawową matematyką w liceum? testy iq matematyczne idą mi całkiem dobrze, wychodzą mi naprawdę spoko wyniki a na matmie zaćmienie umysłu. Myślałem żeby pójść sobie kiedyś na #politechnika no ale nie pójdę skoro nie kumam matmy. Jak myślicie, jak to możliwe że mając iq wyższe od przeciętnej mam problem z całkowicie przeciętną matematyką w 3
ile
elementów w tablicyn
-elementowej? Dla testów zrobiłem 5 elementową tablicę. Wszystko przesuwa się poprawnie, dopókii
nie wyleci poza zakres.int main()
{
int n = 5;
int tab[n];
tab[0] = 5;
tab[1] = 10;
tab[2] = 15;
tab[3] = 20;
tab[4] = 25;
int ile = 3;
int i;
int pom = tab[n - 1];
for(i = n - 1; i > 0; i--)
{
tab[i] = tab[i - ile];
}
tab[0] = pom;
for(i = 0; i < n; i++)
{
printf("%d \n", tab[i]);
}
}
#jezykc #naukaprogramowania #programowanie
Komentarz usunięty przez autora
Najłatwiej zrobić kopię tabeli i użyć magicznego operatora modulo
Nie programowałem już chyba 3 lata, ale spróbowałbym coś takiego:
int pom[n] = tab[n];
for (int i=0; i<n; ++i)
{
tab[i] = pom[ (i+n)%n ];
}
int pom, czy int pom[n] ?
tabela 1 ma X elementow
tabela 2 powinna miec X + ile elementow, najpierw powinienies stworzyc nowa tablice, aby miec gdzie "poprzesuwac te dane" w innym przypadku bedziesz tracic te dane, lub wpisywac dane do pamieci, ktora nie jest zarezerwowana dla twojej tablicy
Nie wiem jakie masz dokladnie oczekiwania, ale mozesz sobie to obsluzyc uzywajac dodatkowej tablicy jako tempa i memcpy:
#include
int main()
{
int n = 5;
int tab[n];
tab[0] = 5;
tab[1] = 10;
tab[2] = 15;
tab[3] = 20;
tab[4] = 25;
int ile = 3;
int i;
int pom = tab[n - 1];
int temp[n];
memcpy(temp, &tab[ile], sizeof(int)*(n-ile));
memcpy(&tab[ile-1], tab, sizeof(int)*ile);
memcpy(tab, temp, sizeof(int)*(n-ile));
for(i = 0; i
Powinno być tak:
int pom[n];
for (int iter =0; iter<n;++iter)
pom[iter] = tab[iter];