Ako obmedzit pisanie znakov v C
Najlepšie tak aby ich uzivateľ nemohol ani zadať a program pri šifrovani použiť, dá sa to nejako nastaviť?
Pre pridávanie komentárov sa musíte prihlásiť.
Pre pridávanie komentárov sa musíte prihlásiť.
Vznikla česká webová stránka venovaná distribúcii EndeavourOS s podporou Arch-Linux.cz. Táto distribúcia je založená na Arch linuxe. Inštalácia je založená na Calamares.
Zdroj: EndeavourOS.cz
V rámci updatov k 1.6.2024 bol vydaný respin MX linuxu pre single board počítač Orange Pi.
Zdroj: Mxlinux org
Vyšla nová verzia rolling-update distribúcie Manjaro, ktorá spája silu Arch Linuxu s jednoduchosťou user-friendly distribúcii. Okrem najnovšieho jadra je k dispozícii pre priaznivcov KDE aj najnovšie rozhranie Plasma 6. Manjaro vychádza vo verziách s KDE, GNOME a XFCE.
Zdroj: Distrowatch
Bola vydaná verzia 0.10 textového editoru neovim. Nová verzia obsahuje množstvo vylepšení LSP protokolu, zvýrazňovania syntaxe pomocou Tree-sitteru a ďalších menších zmien. Kompletný zoznam noviniek je dostupný v oznámení o vydaní.
Zdroj: neovim.io
Retro distribúcia arix prináša prostredie kde 1.1.2 na Debian 13 (trixie).
Zdroj: ariasft.github.io
V Greenie knižnici bola vydaná prvá kniha, ktorá je vytvorená z väčšiny umelou inteligenciou. Pokrýva udalosti Druhej svetovej vojny, vrátane rôznych doplnkových tém. Kniha je v angličtine.
Zdroj: Blog na Denníku N
Retro web poskytuje informácie o starom hardvéri
Zdroj: The Retro Web
Ide o čiastkovú časť, ktorú riešia z dôvodu monopolného spravania sa v Appstore.
Zdroj: Európska Komisia
Bot využívaný na útoky proti mnohým štátnym inštitúciam v celej Európe dosiahol novú veľkosť.
Protimonopolný úrad zaujal stanovisko k problematike vypínania českých staníc u slovenských poskytovateľov televízie.
Zdroj: Vo svete IT
Ak sa vám táto stránka páči, môžete nás podporiť tak, že si na vaše stránky umiestnite tento banner.
Náš Twitter tag je #LinuxOSsk
Skus blizsie specifikovat, co si predstavujes pod "zadat" a "pouzit".
made by Armis
#include <stdio.h>
void sifra(int posun); /*Deklaracia a definicia premennych*/
void desifra (int posun);
void program (int posun, int sifrovanie);
int main()
{
char c;
int posun, prem, sifrovanie;
do
{
printf("Zadaj hodnotu posunu: ");
scanf("%d", &prem);
if (prem < 0) printf("Zla hodnota, zadaj nezapornu hodnotu!!!\n");
}while (prem < 0); /*ak premenna je zaporne cislo opakuje cyklus*/
do{
posun = prem; /*do poun prirad premennu. Premenna sluzi na zapametanie zakladnej hodnoty*/
program (posun, sifrovanie); /*Volanie funkcie program*/
printf ("Stlacte bodku pre ukoncenie programu.\n");
c = getchar ();
putchar (c);
}while(c != '.'); /*Program sa spusti od zaciatku ak zadana znak nieje botka*/
return 0;
}
void sifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p + posun);
p = getchar();
}
putchar(p);
}
void desifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p - posun);
p = getchar();
}
putchar(p);
}
void program (int posun, int sifrovanie)
{
do
{
printf("Stlac 1 pre zasifrovanie, 0 pre odsifrovanie: ");
scanf("%d", &sifrovanie);
if (sifrovanie != 0 && sifrovanie !=1)
printf("Zla hodnota.\n");
}while (sifrovanie != 0 && sifrovanie !=1); /*ak zadane udaje niesu 0 alebo 1 opakuje cyklus*/
if(getchar() != '\n');
if (sifrovanie == 1)
sifra(posun); /*Volanie funkice sifrovania*/
else desifra(posun); /*Volanie funkcie desifrovania*/
}
Skus sa pozriet, ako taka ASCII tabulka vyzera. Asi chces osetrit, ked sa dostanes mimo interval tisknutelnych znakov.
Pri mojom prvom pokuse som chcel definovat znaky do pola, nech pouziva len tie co urcim ja a v pripade konca volenych znakov nech zacne odznova (osetrene pointerom).
Lenze vtedy som pouzival na porovnavanie znakov switch a definoval kazdu jednu hodnotu co nebolo najstastnejsie riesenie.
((znak+posun)%('~'-'!'+1))+'!'
Ze budem definovat len tie ktore ma poznat?
A este nez sa k tomu dostaneme ano som sudent, ano je so seminarka, ano chem programovat aj dalej, ibaze moje terajsie vedomosti na to nestacia.
Ten vyraz, co som uviedol vrati ASCII hodnotu vzdy taku, aby dany znak bol od znaku ! po znak ~.
dal som zasifrovat abcdefg
vyplulo to ♫☼►
A v originalnej sifre ostatne znaky nepouzivaly (sice ani cisla ale toto male rozsirenie mi odpustia, hadam.)
este pre kontrolu putchar((znak+posun)%('x'-'a'+1))+'a'; a malo by pouzivat len tieto male pismena?
Lebo som fakt s toho magor. Viem ANSCII ma presne definovanu postupnost znakov, no aj tak mi to vypisuje blbosti.
Celu tabulku som nastudoval, skusil som co viem, co si radil, ale aj tak sa s nim neviem dohodnut. :-/
Mozno ako zaciatok si skus zobrat ceruzku a papier. Na lavu stranu si napis vsupne znaky a na pravu stranu vystupne, tak aby prisluchali. Nakoniec zistis ako to chces prevadzat podla ASCII hodnoty jednotlivych znakov. Ak to chces nejak zbesilo, mozes si definovat napr nejaku tabulku a pomocou znaku do nej indexovat a tak ziskat vysledny znak.
Inac ta tabulka sa vola ASCII.