Wpis z mikrobloga

trochę nie ogarniam funkcji w #cpp, a wypadałoby w końcu
wiadomo, po poradniki jeszcze sobie sięgnę, ale w kodzie mam co chwilę powtarzający się kawałek, który muszę wykonać, żeby skopiować tablicę, bo tą drugą ciągle przestawiam
da się to upchnąć w funkcję, żebym tylko wywoływał kopiowanie?

for(i=0;i<100;i++)
{
tab2[i]=tab[i];
}
  • 18
@inplaz:
też widziałem, że pojawiają się jakieś nowe możliwości
na razie zostanę przy tym jak jest, żeby to działało, a jutro do funkcji może to powrzucam, a najlepiej, jakbym to w Qt zrobił, żeby się jakoś prezentowało, zamiast konsoli. W tym tygodniu.
@NAGI: Przypomniałem sobie trochę wskaźniki i powinno wyglądać to jakoś tak:

void TabMirror(int *tablica1, int *tablica2)
{
for(int i=0;i<100;i++) tablica2[i]=tablica1[i]; //z pierwszej do drugiej

}

int main()
{
int tablica1[100]; // poprzednio zarezerwowałeś sobie tylko 10 więc pokazywałeś
int tablica2[100]; // wskaźnikami na coś co nie należy do Ciebie co wywalało program

tablica1[3]=5;
TabMirror(tablica1,tablica2);
cout<<tablica2[3];
}
@Pan_Mirek:
Imo, jak używasz wskaźników w definicji to trzymaj się wskaźników.

http://ideone.com/cVLacQ

@NAGI:
Przesyłając tablicę do funkcji, przesyłasz tak naprawdę ADRES elementu o indeksie 0. Cokolwiek zrobisz na tym - tak naprawdę robisz to na oryginalnej tablicy, a więc nie ma potrzeby stosować referencji.

Jeżeli chodzi o twoje pierwsze pytanie: tak, da się upchnąć.

Zadawaj konkretne pytania, to chętnie ci konkretnie odpowiem. Inaczej nie bardzo wiem o co ci może
@NAGI:
Łap: http://ideone.com/xGFkoQ
Efekt działania: http://snag.gy/m8EXa.jpg

To trochę długi ale wyczerpujący temat przykład. Nie ma różnicy, czy użyjesz wskaźników czy tablic. Weź pod uwagę, że ty sobie wysyłasz w argumentach tablicę - tak naprawdę to jej adres. Potem sama funkcja sobie "wybiera" jak dany adres interpretować: jako wskaźnik czy jako tablicę. Różnica jest w sposobie wyświetlenia indeksów. Imo łatwiejszy sposób to użycie tablic.
@Phallusimpudicus:
wow, wielkie dzięki za poświęcony czas
teraz wychodzę, ale pod wieczór przy tym posiedzę
ogólnie to robię programik, który bierze 4 sortowania i ma pokazać ich efektywność (czas działania)
na razie wszystko jak najprościej, żeby działało. Później poupycham do funkcji, a na koniec jakoś graficznie bym chciał zrobić, żeby może było co pokazać, że podstawy ogarniam :D
@Phallusimpudicus:
całkiem nieźle się sprawuje ten komplet:

#include
SYSTEMTIME st;
GetSystemTime(&st);
cout << st.wMinute << st.wSecond << st.wMilliseconds << endl;

tylko nie wiem jak upchnąć te minuty, sekundy i milisekundy do jednej zmiennej, żeby później odjąć t2-t1
mnożenie każdego z osobna i dodać? nie wiem czy przejdzie, bo raz może mieć 24 milisekundy, a raz na przykład 742
@NAGI: I tak bym ci nie odpowiedział, bo o ile przerabiałem sortowania i wskaźniki, to czas w ogóle :P
Podeślij mi jakieś fajne kody związane z tym co robisz, przejrzę sobie potem.

ps. w ogóle nie wpadłbym na pomysł, żeby czasowo mierzyć długość sortowania. Pamiętaj, że dla różnych zestawów, czas sortowania w jednej metodzie będzie szybszy, w innym dłuższy.

Zajrzyj tutaj: http://www.sorting-algorithms.com/
Kliknij na zielone strzałki, żeby się odpaliło. Shell chyba