Anonymní profil Kolemjdoucí – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Kolemjdoucí – Programujte.comAnonymní profil Kolemjdoucí – Programujte.com

 

Příspěvky odeslané z IP adresy 213.192.34.–

C / C++ › Řešení v Caesarově šifře
2. 11. 2013   #183116

Ahoj,

mohl by někdo poradit jak dotáhnout ke zdárnému konci prográmek, který má řešit Caesarovu šifru.
Řetězec se má uložit do pole znaků a výsledek má být pro všechny klíče.

Klíč N: řetězecN
Klíč N+1: řetězecN+1


Zatím mám tohle, ale nastal problém při zadání mezery a ještě v okamžiku kdy se má z konce abecedy přesunout na začátek.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x, k = 1, a = 0;
    #define N 15
    #define K 10

    int pole [N];
    char ch;

    printf("Zadej sifru o %d znacich ", N);
    for (x = 0;x != N;x++)
        pole [x] = getchar();

    printf("Zadali jste ");
    for (x = 0;x != N; x++)
        putchar(pole [x]);
    printf("\n");

    do
    {
        a++;
        for (x = 0;x != N;x++)
            pole [x] += k;
        printf("Hodnoty pro klic N = %d jsou ", a);
        for (x = 0;x != N; x++)
            putchar(pole [x]);
        printf("\n");

    }
    while (a != K);


    return 0;
}

Díky za rady.

Kolemjdoucí
Assembler › Podminka v ASM
8. 4. 2012   #156264

Pokud se tu bavíte o MPLABu (případně o MPASM), tak zná klasické IF-ELSE-ENDIF (ano, skutečně i ten "assembleří" překladač). Jak jednoduché...

PanPes
C / C++ › Problem s vicerozmernym polem
24. 2. 2009   #95923

Zdravim, mam problem s vicerozmernym polem.... zdrojovy kod je psany v C. :
Jedna se o program, ktery ma rozdelovat retezce ktere jsou oddeleny nejakym znakem (v mem pripade mezerou), (neco jako v php funkce explode) a ukladat jednotliva slova do pole[n] . Jsem zacatecnik a nevim s tim rady.... program mi nevypisuje nic.

#include <stdio.h>

#include <stdlib.h>
#include <string.h>

#ifndef bool
#define bool char
#define false 0
#define true 1
#endif

int main()
{
char pole[15][15];
char s[15];
int i;
int nh=0;
int nl=0;
int np=0;
int k;
bool bol=true;

gets(s); //Nacteni dat
k=strlen(s);

for(i = 1; i <=k; i++)
{
if(s[np]==' ')
{
if(bol==false) //Pridani znaku '\0'
{
pole[nh][nl]='\0';
nh++;
nl=0;
}
bol=true;
np++;
}
else
{
pole[nh][nl]=s[nl];
nl++;
bol=false;
np++;
}
}

for(k=0; nh==k; k++)
{
printf("\nSlovo %d:\n%s\n", nh, pole[nh]);
}

printf("\n----------------------\n");
gets(s);
return 0;
}


Predem dekuji za radu :-)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý