Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Vigenere
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Kriptografija
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Gost






PostPostano: 13:35 pon, 15. 9. 2003    Naslov: Vigenere Citirajte i odgovorite

Zanima me gdje je greska, program bi trebao izracunavati indekse koincidencije ako je m=1,2...7. Zanima me i kako se tretira 'ostatak', tj. ako duljina sifrata nije djeljiva s m.
Sifrat za koji sam isprobavao je tekst koj se nalazi u skripti sa stranica kolegija,pa ga ovdje nisam stavljao.

[code:1]

int freq[26];
int i,j,m,n;
double ic;

char sifrat[1000]="tekst iz skripte sa stranica prof. Dujelle";

for (m=1;m<=7;m++)
{
n=strlen(sifrat)/m;
printf("m=%d =>Ic : ",m);

for (i=0;i<m;i++)//u kojem smo retku
{
for (j=0;j<26;j++)
freq[j]=0;

for (j=0;j<n;j++)
freq[sifrat[n*i+j]-'A']++;

ic=0.0f;

for(j=0;j<26;j++)
ic+=((double)freq[j]*(freq[j]-1)/((double)n*(n-1)));

printf("%.3lf ",ic);
}
printf("\n");
}[/code:1]
Zanima me gdje je greska, program bi trebao izracunavati indekse koincidencije ako je m=1,2...7. Zanima me i kako se tretira 'ostatak', tj. ako duljina sifrata nije djeljiva s m.
Sifrat za koji sam isprobavao je tekst koj se nalazi u skripti sa stranica kolegija,pa ga ovdje nisam stavljao.

Kod:


     int freq[26];
     int i,j,m,n;
     double ic;

     char sifrat[1000]="tekst iz skripte sa stranica prof. Dujelle";

     for (m=1;m<=7;m++)
          {
          n=strlen(sifrat)/m;
          printf("m=%d =>Ic : ",m);

          for (i=0;i<m;i++)//u kojem smo retku
               {
               for (j=0;j<26;j++)
                    freq[j]=0;

               for (j=0;j<n;j++)
                    freq[sifrat[n*i+j]-'A']++;

               ic=0.0f;

               for(j=0;j<26;j++)
                   ic+=((double)freq[j]*(freq[j]-1)/((double)n*(n-1)));

               printf("%.3lf ",ic);
               }
               printf("\n");
          }


[Vrh]
duje
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2002. (12:21:31)
Postovi: (55C)16
Spol: muško
Sarma = la pohva - posuda
338 = 339 - 1

PostPostano: 16:46 pon, 15. 9. 2003    Naslov: Citirajte i odgovorite

Cini mi se da bi umjesto
[code:1]sifrat[n*i+j][/code:1]
trebalo biti
[code:1]sifrat[m*j+i][/code:1]

Ako postoji 'ostatak', onda ce neki retci
imati n, a neki n+1 slova. Nece se nista
bitno promjeniti ni ako se 'ostatak' zanemari.
Cini mi se da bi umjesto
Kod:
sifrat[n*i+j]

trebalo biti
Kod:
sifrat[m*j+i]


Ako postoji 'ostatak', onda ce neki retci
imati n, a neki n+1 slova. Nece se nista
bitno promjeniti ni ako se 'ostatak' zanemari.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Gost






PostPostano: 7:29 sri, 17. 9. 2003    Naslov: Citirajte i odgovorite

Zahvaljujem i priznaem da je glupa greska,ali cini se da i ovako ne radi kako treba.
Zahvaljujem i priznaem da je glupa greska,ali cini se da i ovako ne radi kako treba.


[Vrh]
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Kriptografija Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan