Új hozzászólás Aktív témák
-
#PeTeY#
aktív tag
válasz
kovisoft
#5986
üzenetére
Nagyon köszönöm. Már munkahelyen vagyok, este megnézem.

Bár, most első ránézésre... Na, megpróbálom majd értelmezni. És tisztáznám, mit is akarok, mert valószínű nem voltam valami összeszedett már tegnap este. Mondjuk nem biztos, hogy most jobb lesz...
Szóval a feladat szerint a program egy fájlból kiolvas majd 3 dolgot. Egy egész számot, mint kód. Ennyi oszlopa lesz majd a mátrixnak, amibe be kell "tölteni" a harmadik paraméterben kapott szöveget, amit kódolni, vagy dekódolni kell. Illetve egy kulcsot azaz számsort, ami ebben a mátrixban mutatja az oszlopok sorrendjét. Kódolásnál be kell írni sorfolytonosan a mátrixba a szöveget: azaz a[0][0]-ba az első karakter, a[0][1]-be második, stb, és kiolvasásnál a kulcs által megadott sorrendben kell kiírni. Nálam a konkrét kódban, ugye a 3. oszlop utolsó sorában lévő karakter lesz az első, aztán ugyanezen oszlop utolsó előtti sorában lévő a második egészen az első sorig, majd jön a 4. oszlop utolsó sorában lévő, stb. Ezt a segítségetekkel sikerült is megcsinálni. Viszont a dekódolásnál ezt írja szó szerint a feladat: "A dekódoláshoz az adott sorrendben töltjük fel az oszlopokat, majd a szöveget sorfolytonosan olvassuk ki a táblázatból..." Azaz ha jól értem, fordítva kéne, mint a kódolásnál. Bocs a hosszú szövegért. -
#PeTeY#
aktív tag
válasz
kovisoft
#5984
üzenetére
Valóban. Nagyon köszi... Logikus, hogy sorok esetében lentről felfelé kell haladni, ha azt akarom, hogy így legyen kiírva.
Pár év és belejövök.
Még egy kérdésem lenne, mert ehhez már nagyon fáradt vagyok: Hogyan oldom meg, ha azt szeretném, hogy a titkosítani kapott szöveget a kulcsnak megfelelően rendezze oszlopokba? Azaz itt az első négy karakter kerüljön a 3. oszlopba, úgy hogy az első karakter van a legalsó sorban... -
#PeTeY#
aktív tag
válasz
kovisoft
#5982
üzenetére
Rendben. Szóval, a lényeg, hogy kódolni kéne egy szöveget úgy, hogy egy megadott kulcs alapján olvasom ki oszloponként a szöveget alulról felfelé. Sikerül megcsinálni a kódolás részét, azaz megfelelő sorrendben adja vissza az oszlopokat, de nem alulról felfelé. És nem látom, miért. Bár biztos ez is tök egyszerű:
#include <stdio.h>#include <stdlib.h>int main(){int kod = 7;int kulcs[32] = {3,4,2,1,5,6,7};char szoveg[256] = {"eztaszovegetkelltitkositanod"};int n = 28 / kod;char tomb[n][kod];FILE* ki = fopen("ki.txt", "w");if (ki == NULL) {printf("Nem sikerült megynitni a ki.txt-t! (%d)\n", __LINE__);exit(1);}int i, j, count = 0;for (i=0; i<n; ++i) {for (j=0; j<kod; ++j) {tomb[i][j]=szoveg[count];count=count+1;fprintf(ki, "%c ", tomb[i][j]);}fprintf(ki, "\n");}fclose(ki);FILE* ki2 = fopen("ki2.txt", "w");if (ki2 == NULL) {printf("Nem sikerült megynitni a ki.txt-t! (%d)\n", __LINE__);exit(2);}char kodolt[256];int l=0;for(j=0; j<kod; j++) {for(i=0; i<n; i++) {kodolt[l] = tomb[i][kulcs[j]-1];fprintf(ki2, "%c", kodolt[l]);}}fclose(ki2);return 0;} -
#PeTeY#
aktív tag
Haladok a beadandómmal szépen lassan, nagy nehezen kitaláltam, minek hogyan is kellene működnie és működik is, de megint sikerült elakadnom. Esetleg valaki rá tudna nézni privátban a kódomra, hogy mi vele a gond?
-
#PeTeY#
aktív tag
Sziasztok. Segítséget szeretnék kérni. Elkezdtem teljesen nulláról programozást tanulni, beiratkoztam egyetemre 38 éves fejjjel. Egyelőre nagyon tetszik, már csak azért is, mert teljesen sötét vagyok hozzá.
Szóval belefutottam egy feladatba (beadandó) és próbálom megoldani. A program egy fájlból kap mindenféle paramétert, ami alapján titkosít egy szöveget, amit kiír egy másik fájlba, de nem is ez a lényeg. Igyekszem lebontani kisebb részekre, de már az elején elakadtam. Azt szeretném megoldani, hogy egy szöveget mátrixos elrendezésben írjon ki, de nem sikerül. Egyszerűen csak kiírja egy sorba. Mit rontok el? Eddig jutottam:#include <stdio.h>#include <stdlib.h>int main(){char szoveg[256] = {"eztaszovegetkelltitkositanod"};char tomb[4][7];FILE* ki = fopen("ki.txt", "w");if (ki == NULL) {printf("Nem sikerült megynitni a ki.txt-t! (%d)\n", __LINE__);exit(1);}int i, j, count = 0;for (i=0; i<4; ++i) {for (j=0; j<7; ++j) {tomb[i][j]=szoveg[count];count=count+1;fprintf(ki, "%c ", tomb[i][j]);}}return 0;}Előre is köszönök minden segítséget.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Épített vízhűtés (nem kompakt) topic
- eBay-es kütyük kis pénzért
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kerékpárosok, bringások ide!
- Honor Magic8 Lite - a félig sikerült bűvésztrükk
- Bittorrent topik
- sziku69: Szólánc.
- Vigneau interaktív lokálblogja
- OLED monitor topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS3693
- ÚJ HP EliteBook 6 G1a Ryzen 5 PRO 230 4.9GHz 16GB DDR5 512GB FHD+ 16:10 már jobbik kijelző, gar 2028
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
- ÁRGARANCIA!Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest



