programowalnia.info

Nowy mechanizm forum! Problemy i sugestie proszę zgłaszać do administratora
Teraz jest 2010-07-30, 09:16

Wszystkie czasy w strefie UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
 Tytuł: Problem> prosze o pomoc!!
PostNapisane: 2008-02-27, 01:36 
Offline

Dołączył(a): 2007-11-03, 20:38
Posty: 28
Lokalizacja: ten wdziek
Witam mam pewien problem. Piszę algorytm i chyba mi nie zwraca odpowiednich wartosci i dokladnie nie wiem dlaczego. Jest to lekko naiwny algorytm ale wedlug mnie powinien dzialac dobrze oto kawalek kodu
Kod:
int tak_k=0,tak_w=0;
   
   if(k_i==0){
      if(k_j==0){
         for(int i=0;i<il_k_w;i++)
            if(tabKiK[i][i]==tabKiK[i+1][i+1])  tak_k++;
      }
      else{
         if(k_j==il_k_w){
            int j=il_k_w;
            for(int i=0;i<il_k_w;i++){
               j--;
               if(j>=0)
               if(tabKiK[i][j]==tabKiK[i+1][j-1]) tak_k++;
            }
         }
      }
   }
   else{
      if(k_i==il_k_w){
         if(k_j==0){
            int i=il_k_w;
            for(int j=0;j<il_k_w;j++){
               i--;
               if(i>=0)
               if(tabKiK[i][j]==tabKiK[i+1][j-1]) tak_k++;
            }
         }
         else{
            if(k_j==il_k_w){         
               for(int i=0;i<il_k_w;i++)
                  if(tabKiK[i][i]==tabKiK[i+1][i+1])  tak_k++;
            }
            else{
               for(int i=0;i<il_k_w;i++){
                  tak_k=0;      //zerowanie licznikow prawdziwosc
                  tak_w=0;
                  for(int j=0;j<(il_k_w-1);j++){
                     if(int(tabKiK[j][i])==int(tabKiK[j+1][i])) tak_k++;        //bada czy wszystkie elementy w danej kolumnie sa takie same
                     if(tabKiK[i][j]==tabKiK[i+1][j]) tak_w++;        //bada czy wszystkie elementy w wierszu sa takie same
                  }
               }
            }
         }
      }
   }
   if(tak_k%il_k_w) return 0;               //sprawdzanie czy jest za pomoca licznikow tak_ i jesli ktorys jest rowny ilosci kolumn\wierszy (il_k_w) to zwraca 0 = koniec a jesli nie to zwraca 1 = kontynuacja
   else{
      if(tak_w%il_k_w) return 0;
      else return 1;
   }

troszke objasnienia symboli.
tak_w i tak_k to sa zmienne ktore inkrementuje podczas obrotu pentli jesli warunek jest prawdziwy
il_k_w ilosc kolumn i wierszy w maciezy (maciez kwadratowa)
tabKiK tablica dwuwymiarowa zawierajac maciez o rozmiarze il_k_w
k_j numer danego elementu maciezy kolumna lub wiersz
k_i jak wyzej

w zadaniu chodzi o sprawdzenie warunku czy w danej maciezy wystepuje wiersz/kolumna/przekatna zawiera rowne sobie elementy(wszystkie takie same np w maciezy:
1 1 1
1 2 m
3 5 1
jest to wiersz pierwszy, a w maciezy
1 2 3
0 1 0
0 0 1
jest to jedna z przekatnych

Nie wazne jest czy to przekatna czy wiersz lub kolumna interesuje mnie zwrot wartosci 0 jesli taki element istnieje i wartosci 1 jesli takowego nie ma.


Jeśli macie jakies pytania zastrzeżenia piszcie postaram sie byc bardziej aktywny na forum :P


______
edit: zmienilem quote na code poniewaz w cytatach nie dzialaja wciecia :]

_________________
"All it's a part of design..."


Góra
 Zobacz profil Wyślij e-mail  
 
 Tytuł: Re: Problem> prosze o pomoc!!
PostNapisane: 2009-09-10, 10:42 
Offline

Dołączył(a): 2009-09-10, 09:52
Posty: 1
Polecam ci ten kurs c++, masz tam opisane wszystko o algorytmach.


Góra
 Zobacz profil Wyślij e-mail  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Wszystkie czasy w strefie UTC + 1


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
 cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
opisy gg :: portal zdrowie :: sport i turystyka :: katalog dobrych stron :: ciekawostki komputerowe :: prawo i podatki :: Numizmatyka

Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
phpBB SEO