Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.14
Prihlásený: 18.05.15
Príspevky: 15
Témy: 8
Príspevok NapísalOffline : 30.01.2015 15:48

caute prosim vas mohli by ste mi poradit ako spravit tento program, nieco mam v tom kode zle len neviem co

zadanie:
https://www.dropbox.com/s/kjw7adkar76jyqa/6.png?dl=0

kod:
Kód:
#include <stdio.h>

int main()
{
  FILE *sifra;
  FILE *sprava;
 
  char citam_a, citam_b;
 
  int poc;
  int cislo=0;
 
  if((sifra=fopen("novy.txt","r"))==NULL)
    return -1;
  if((sprava=fopen("znak.txt","r"))==NULL)
    return -1;
 
  citam_a=getc(sprava);
  citam_b=getc(sifra);
 
  while(citam_a!=citam_b)//zistujem sifru
  {
    printf("1. while: %d\n",cislo);
    cislo++;
    citam_a++;
    printf("%c\n",citam_a);
    if(citam_a>'z')
      citam_a='a';
  }
 
  printf("Vysledna sifra: %d\n",cislo);
 
  while((citam_a=getc(sprava))!=EOF || (citam_b=getc(sifra))!=EOF)
  {
    printf("2. while\n");
    poc=0;
    printf("citam_a: %c, citam_b: %c\n",citam_a,citam_b);
    while(poc!=cislo)//posun nacitane pismeno zo spravy podla sifry
    {
      poc++;
      citam_a++;
      printf("%c\n",citam_a);
      if(citam_a>'Z' || citam_a>'z')
         citam_a='a';
    }
    printf("citam_a: %c, citam_b: %c",citam_a,citam_b);
    if(citam_a!=citam_b)//pokial sa nerovnaju je zla sifra
    {
      printf("Zla sifra\n");
      return 0;
    }
  }
 
 
  return 0;
}


zisti pre prve pismeno ze je posun 2 to je ok ale potom to niako blbe

diky


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 30.01.2015 18:34

Čo znamená "blbne"? Ja tam na pohľad chybu nevidím, daj nejaký ukážkový vstup a výstup.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.14
Prihlásený: 18.05.15
Príspevky: 15
Témy: 8
Príspevok Napísal autor témyOffline : 30.01.2015 18:47

no ma to len otestovat ci je to posun napr. o 2 a ked hocivktorom pismene nie je odva vzpise zla sifra no a dal som do obidvoch .txt vsetko dobre tak aby bola dobra sifra ale napise ze je posun o 2 ale vypise zaroven aj zla sifra


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 30.01.2015 19:13

Skopíruj sem vstup (obsah súborov) aj výstup z programu včetne tých pomocných výpisov







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.05.14
Prihlásený: 18.05.15
Príspevky: 15
Témy: 8
Príspevok Napísal autor témyOffline : 30.01.2015 20:14

znak.txt
Kód:
ahojz

novy.txt
Kód:
cjrlb

vystup
Kód:
1. while: 0
b
1. while: 1
c
Vysledna sifra: 2
2. while
citam_a: h, citam_b: c
i
b
citam_a: a, citam_b: cZla sifra


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.04.11
Prihlásený: 25.04.24
Príspevky: 296
Témy: 27
Bydlisko: Martin/Brno
Príspevok NapísalOffline : 30.01.2015 20:31

Chyba bude zrejme tu:
Kód:
while((citam_a=getc(sprava))!=EOF || (citam_b=getc(sifra))!=EOF)


mas tam operator || cize ak sa ti nacita do citam_a tak druha cas podmienky sa vobec nevykona, pretoze je uz splnena, cize ti do citam_b vobec nenacita.

// Spojený príspevok Pia 30.01.15 20:35:53

A dalsia chyba je tu:
Kód:
 if(citam_a>'Z' || citam_a>'z')
         citam_a='a';


pozri si http://www.asciitable.com preco ti ta podmienka pre pismeno 'h' vrati true.


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. caesarova šifra v C

v Assembler, C, C++, Pascal, Java

5

1247

04.11.2013 21:06

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. "sifra" v pascale

v Assembler, C, C++, Pascal, Java

1

390

06.01.2010 14:48

raf Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra