-
Postów
9 812 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
141
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez gnysek
-
Gotowe rozwiazanie chyba. A nauczyć się czegoś samemu to nie łaska?
-
Do odbierania cyfrowej telewizji są anteny DVB-T.
-
Coś takiego chyba mój brat robił teraz na zaliczenie na polibudę w C... wystarczyła do tego macierz, wyliczało się krawędzie i wierzchołki i potem w sumie prostą pętlą od razu najkrótszą drogę wskazywało. #include<stdio.h> #include<stdlib.h> #define ROZMIAR 5 struct skraw { int i; int j; }; int silnia(int n) { return (n < 1) ? 1 : n * silnia(n-1); } int liczbaKraw(int x) { return silnia(x)/( 2 * silnia(x-2)); } int main() { int i,j; int m[ROZMIAR][ROZMIAR] = { {0,1,1,0,0}, {0,0,0,7,0}, {0,5,0,0,0}, {2,0,3,0,1}, {0,3,0,0,0} }; struct skraw* krawedzie = (struct skraw*) malloc(liczbaKraw(ROZMIAR)*sizeof(struct skraw)); printf("%i\n", liczbaKraw(ROZMIAR)); for (i=0; i<ROZMIAR; i++) { for (j=0; j<ROZMIAR; j++) { printf("%i ", m[i][j]); } printf("\n"); } int liczbaKrawedzi = 0; //sprawdzamy macierz for (i=0; i<ROZMIAR; i++) { for (j=0; j<ROZMIAR; j++) { if (m[i][j] * m[j][i] != 0) { printf("bledna macierz\n"); } else if (m[i][j] > 0) { //printf("%i %i\n",i,j); //dodajemy krawedz krawedzie[liczbaKrawedzi].i = i; krawedzie[liczbaKrawedzi].j = j; //printf("dodana krawedz %i, i = %i, j = %i\n", liczbaKrawedzi + 1, krawedzie[liczbaKrawedzi].i, krawedzie[liczbaKrawedzi].j); liczbaKrawedzi++; } } } // liczba wierzcholkow int liczbaWierzcholkow = 0; for (i=0; i<ROZMIAR; i++) { int suma = 0; for (j=0; j<ROZMIAR; j++) { //printf("%i %i\n",m[i][j],m[j][i]); suma+= m[i][j]; suma+= m[j][i]; } //printf("\n"); if (suma > 0) liczbaWierzcholkow++; } int d[ROZMIAR], *p; p = (int*) malloc(liczbaWierzcholkow*sizeof(int)); for (i=0; i< liczbaWierzcholkow; i++) { d[i] = 30000; p[i] = -1; } int pyt; printf("skad startowac: "); scanf("%i", &pyt); //printf("z: %i\n", pyt); //printf("liczba wierzcholkow: %i\n", liczbaWierzcholkow); d[ pyt ] = 0; for (i=liczbaWierzcholkow-1; i>=0; i--) { for (j=0; j<liczbaKrawedzi; j++) { //printf("if ( d[%i] > d[%i] + m[ %i, %i ] )\n", krawedzie[j].j, krawedzie[j].i, krawedzie[j].i, krawedzie[j].j); //printf("if ( %i > %i + %i )\n\n", d[krawedzie[j].j], d[krawedzie[j].i], m[ krawedzie[j].i ][ krawedzie[j].j ]); if ( d[ krawedzie[j].j ] > d[ krawedzie[j].i ] + m[ krawedzie[j].i][ krawedzie[j].j ] ) { d[ krawedzie[j].j ] = d[ krawedzie[j].i ] + m[ krawedzie[j].i][ krawedzie[j].j ]; p[ krawedzie[j].j ] = krawedzie[j].i; } } } /*for (i=0; i< liczbaWierzcholkow; i++) { printf("d[%i] = %i, p[%i] = %i\n", i, d[i], i, p[i]); }*/ int koniec; printf("gdzie konczyc: "); scanf("%i", &koniec); //printf("do: %i\n", koniec); if (d[ koniec ] < 1 || d[ koniec ] >= 30000) { printf("nie ma drogi\n"); return 1; } int k; k = koniec; int droga[ ROZMIAR ]; j = ROZMIAR - 1; for (i=0; i< ROZMIAR; i++) { droga[ i ] = -1; } while (k > -1) { droga[ j ] = k; k = p[ k ]; j--; } if (NULL == 0) for (i=0; i< ROZMIAR; i++) { if (droga[i]>=0) { printf("krok: %i\n", droga[ i ]); } } printf("koszt: %i\n", d[ koniec ]); return 0; } Nie wiem jak to dokładnie działa, podajesz tam punkty grafu chyba z ktorego do którego idziesz i on podaje przez co przechodzisz. Edit: ah, to jest jednokierunkowe i jeszcze tam jakieś wagi są podawane, zeby iść drogą z najmniejszym kosztem, a nie tylko najkrótszą.
-
Koszulki to leżały cały dzien na dole i nikt nie chciał :D
-
Konkretnie to symbolizowało pavulon, wpychanie noworodków do beczek oraz łowców skór. Szkoda, że ja w piątek musiałem być w pracy, bo w 24 godziny bym odstawił jakieś proste 3d ze statkami :)
-
Jakie były nagrody ? :D Ej, dajcie szczegóły!
-
Nie, wyjechałem przed finałem i nie dostałem żadnego info co działo sie dalej.
-
Najpierw było po 3zł, po 1zł to było jak się już część rozeszła i do końca imprezy zostało 30 minut. Co do kluczy - no cóż, możesz zawsze je oddać mi, albo wymyśleć jakieś GMCLANowe compo :)
-
Bedziom jest jak wrzód na dupie. Odzywa się niepytany, opowiada historie które nikogo nie interesują i jest opryskliwy! Natomiast z resztą ekipy chętnie zobaczyłbym się na kolejnym SGS lub ZTG :)
-
W muzeum porcelany rzeźbiąc w brązie.
-
Ja ok. 5 rano wyjeżdżam z Gdańska, jadę przez A1 do Łodzi, zatem jakieś 4-5 godzin mi to zajmie. Będę pewnie koło 10 rano.
-
Mam klucze do GM8.1 rozdania, kto będzie na mojej prezentacji ma okazję dostać, GMCLAN dostanie priorytet :)
-
No a string to jak jest reprezentowany ? :P
-
z A na B, z G na A, z B na G? Z racji, że to C/C++ i jest to tablica charów, można też skorzystać z operacji XOR zamieniającej wartosci bez wykorzystania pomocniczej zmiennej: http://pl.wikipedia.org/wiki/Zamiana_warto...85_operacji_XOR
-
Trzymać wam klucze do GM8.1, czy macie?
-
W Gdańsku jest Borkowo. Tych jest jeszcze więcej niż Borków :)
-
Pojawianie się tekstu na kilka sekund
gnysek odpowiedział(a) na pk100 temat w Pytania początkujących
I wtedy >= 0, bo będzie o jedną klatkę za krótko! Dopiero wartosć -1 jest poza zakresem alarmu :) -
Poparte dowodami.
-
[HTML]komórka poza obszarem tabeli
gnysek odpowiedział(a) na D!4bl0 temat w HTML, PHP, mySQL, JavaScript
240 * 3 > 500 Albo daj w procentach, albo zmień wartości :) -
Ja będę mam dwa wykłady: Sobota o 15:00 i Niedziela o 10:00
-
O, ocenianie akurat w trakcie Zjazdu Twórców Gier wypadnie :P
-
Można, ale XMLHttpRequest jest raptem obiektem JSu i to JSa wypadało by się najpierw nauczyć, żeby wiedzieć co to obiekt :P BTW. polecam https://developer.mozilla.org/pl/ajax
-
Zaplace, jesli ktos pomoze zrobic gre mmorpg
gnysek odpowiedział(a) na webmaster2012 temat w Valhalla
Albo zakłada, że ma go "prawie" bo w tym temacie go właśnie wkrótce powinien od was otrzymać :) -
Gdybyś wiedział, co dana funkcja robi, to byś nie pytał. Show/hide ukrywa element - zatem tak jakby go nie było (fadeIn/Out powinno zmieniać alphę do 0, zatem stanie się przeźroczysty a nie ukryty). Btw. ja nie wiem dla czego niektórzy mówią "uczę się ajaxa". Równie dobrze można by się uczyć "arraya" czy "foreacha". Sam Ajax jest tylko technologią, ale to nadal JavaScript, zatem trzeba się uczyć tego drugiego aby móc korzystać z pierwszego :)