D_MO +38
Sveiki, užstrigau su vienu uždaviniu. Gal galėtumėte padėti išspręsti ir atrasti mąstymo klaidą? :)
Uždavinio sąlyga prašo tam tikrą koda paversti kitu kodu...
Pradiniai duomenys:
2 3
008000
FF0000
FFFFFF
FFFF00
FF0000
FFFF00
(Klaida "keitimas" funkcijoje)#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[], int skc[][CMax], string kodas[], int & m, int & l, int & n);
void keitimas(int skc[][CMax], string kodas[], int m, int l, int n);
int main()
{
int m; // ilgis
int l; // plotis
int n; // kiekis
string kodas[CMax];
int skc[CMax][CMax];
skaityti(in,skc,kodas,m,l,n);
cout<<n<<endl;
keitimas(skc,kodas,m,l,n);
return 0;
}
void skaityti(const char in[], int skc[][CMax], string kodas[], int & m, int & l, int & n){
ifstream fd(in);
fd>>m>>l;
n=0;
while(!fd.eof()){
fd>>kodas[n];
cout<<kodas[n]<<endl;
n++;
}
fd.close();
}
void keitimas(int skc[][CMax], string kodas[], int m, int l, int n){
for(int i=0; i<n; i++){
for(int h=0; h<(m*l); h++){
for(int j=0; j<l; j++){
if(kodas[i][h]=='F' && kodas[i][h+1]=='F'){
skc[i][j]=255;
}
if(kodas[i][h]=='8' && kodas[i][h+1]=='0'){
skc[i][j]=128;
}
if(kodas[i][h]=='0' && kodas[i][h+1]=='0'){
skc[i][j]=0;
}
}
h++;
}
}
for(int i=0; i<n; i++){
for(int j=0; j<l; j++){
cout<<skc[i][j]<<" ";
}
cout<<" "<<endl;
}
}
Rezultatai turėtų gautis:
0 128 0
250 0 0
250 250 250
250 250 00
250 0 0
250 250 0