Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Gotowe rozwiazanie chyba. A nauczyć się czegoś samemu to nie łaska?
  2. Do odbierania cyfrowej telewizji są anteny DVB-T.
  3. 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ą.
  4. Koszulki to leżały cały dzien na dole i nikt nie chciał :D
  5. 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 :)
  6. Jakie były nagrody ? :D Ej, dajcie szczegóły!
  7. Nie, wyjechałem przed finałem i nie dostałem żadnego info co działo sie dalej.
  8. 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 :)
  9. 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 :)
  10. gnysek

    Foto-galeria

    W muzeum porcelany rzeźbiąc w brązie.
  11. 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.
  12. Mam klucze do GM8.1 rozdania, kto będzie na mojej prezentacji ma okazję dostać, GMCLAN dostanie priorytet :)
  13. gnysek

    String replace.

    No a string to jak jest reprezentowany ? :P
  14. gnysek

    String replace.

    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
  15. Trzymać wam klucze do GM8.1, czy macie?
  16. gnysek

    Foto-galeria

    W Gdańsku jest Borkowo. Tych jest jeszcze więcej niż Borków :)
  17. I wtedy >= 0, bo będzie o jedną klatkę za krótko! Dopiero wartosć -1 jest poza zakresem alarmu :)
  18. 240 * 3 > 500 Albo daj w procentach, albo zmień wartości :)
  19. Ja będę mam dwa wykłady: Sobota o 15:00 i Niedziela o 10:00
  20. gnysek

    [WYNIKI!]OxGames Challenge 4

    O, ocenianie akurat w trakcie Zjazdu Twórców Gier wypadnie :P
  21. 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
  22. Albo zakłada, że ma go "prawie" bo w tym temacie go właśnie wkrótce powinien od was otrzymać :)
  23. 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 :)
×
×
  • Dodaj nową pozycję...