D_MO (+38)
Sveiki, kažkodėl nespausdina tam tikro kodo(kuris užkoduotas raidėmis). Atrodo lyg padaryta gerai, reiktų pagalbos randant klaidą(spausdinimo funkcijoje parodžiau vietą).
Uždavinio sąlyga yra, kad reikia nuskaityti duomenis ir perspausdinti duotu kodu.
Pradiniai duomenys:
SVEIKI IR SUDIE. //tekstas kuri reikia pespausdinti užkoduotomis raidėmis.
8 // raidžių kiekis
D _**
E *
I **
K _*_
R *_*
S ***
U **_
V ***_
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const char in[] = "Duomenys.txt";
const char out[] = "Rezultatai.txt";
const int CMax = 100;
void skaityti(const char in[], string kodas[], string raide[], string & tekstas, int & n);
void spausdinti(const char out[], string raide[], string kodas[], string tekstas, int n);
int main()
{
string tekstas;
int n;
string raide[CMax];
string kodas[CMax];
skaityti(in, kodas, raide, tekstas, n);
spausdinti(out, raide, kodas, tekstas, n);
return 0;
}
void skaityti(const char in[], string kodas[], string raide[], string & tekstas, int & n) {
ifstream fd(in);
getline(fd, tekstas);
cout << tekstas << endl;
fd >> n;
cout << n << endl;
for (int i = 0; i<n; i++) {
fd >> raide[i] >> kodas[i];
cout << raide[i] << " " << kodas[i] << endl;
}
fd.close();
}
void spausdinti(const char out[], string raide[], string kodas[], string tekstas, int n) {
ofstream fr(out);
string naujas;
cout << tekstas << endl;
int e;
e = tekstas.length();
cout << e << endl;
for (int i = 0; i<e - 1; i++) { //kažkur nuo čia prasideda klaida.
for (int j = 0; j<n; j++) {
if (tekstas[i]) == raide[j])
cout << kodas[i];
}
}
}
pakeista prieš 8 m