Ú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!
- Nothing Phone 2a - semmi nem drága
- Horgász topik
- Lightyear - befektetési app
- Tőzsde és gazdaság
- A '90-es évek jutnak az eszünkbe az ATK készülő egeréről
- Luck Dragon: Asszociációs játék. :)
- Formula-1
- Lassan 2027-re is elfogy a TSMC 2 nm-es gyártókapacitása
- Formula-1 humoros
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- ThinkPad T14s Gen 2 i5-1135G7 16GB 512GB FHD 1 év garancia
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
- HP EliteBook 840 G8 14" i5 1145G7, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- 192 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5060 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


