Responsive image Boda Szilárd weblapja


Keressük meg a hibá(ka)t a következő feladatokban:

1.

/*

Ez a program egy tombot fog rendezni

*/


//szukseges konyvtarak deklaralasa

#include <iostream>

using namespace std;


//fofuggveny

int main(){

//szukseges valtozok deklaralasa

    int i, j, v[], aux, n;
//kiirja, hogy n=

    cout<<"n=";

//beolvassa az n erteket

    cin>>n;

//vegigmegyunk a tombon s egyenkent beolvassuk az ertekeket

    for(i=0; i<n; i++){
//kiirja, hogy v[i]=
        cout <<"v["<<i<<"]=";

//beolvassa a v[i] erteket
        cin >> v[i];

    }



//normal rendezes algoritmusa
    for (i=0; i<n-1; i++){
        for (j=i+1; j<n; j++){

           //ha a tomb elso feleben valamelyik elem nagyobb, mint a tomb masodik feleben, csereld ki oket

            if (v[]> v[j]){
              
aux= v[j];
               v[j]= v[i]
         v[i]=aux;
            }
        }
    }

//kiiras
    for (i=0; i<n; i++){

        //kiirja a v[i] t
        cout << v[i] <<" ";

    }

    2.
/*

Ez a program egy "input.txt" fileból egy NxM es
mátrixot olvas be, s kiír  egy "output.txt" fileba egy másik
mátrixot, ami 0 és 1 esekből áll,

a következő logika alapján. Ha a mátrix i, j eleme tartalmazza
az "as" stringet, akkor 1 et, ha nem, 0 t.




*/

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std;

int main

return 0;

}

    //a szukseges valtozok deklaralasa

    int i=0, j=0, n, m;

    int b[10][10];

    string a[10][10];

    //input file deklaralasa

    fstream infile("input.txt");

    string line, token;

    //ha sikerult megnyitni a filet, olvasd be a matrixot

    if(infile.is_open()){

        //amig vannak sorok, olvasd be
        while(getline(infile,line)){           
//darabold fel a sort
        
istringstream iss(line);
        j=0;
        
//egyenkent olvasd be az elemeket
        
while(iss>>token){
              
a[i][j]=token;
               j++;
            }
            i++;

        }

    }

    //lementjuk az n es m erteket i es j bol
    n=i;
    m=j;

    string keresd;

    //beolvassuk a stringet amit keresni fogunk

    cout<<"mit keresunk:";

    cin>>keresd;

    for(i=0; i<n; i++){

        for(j=0; j<m; j++){

           //ha a string megvan a tombben, akkor irj 1 t, ha nem, akkor 0 t
           size_t talalat=a[i][j].find(keresd);

           
if(talalat!=string::npos)
             b[i][j]=1;
           else
b[i][j]=0;
       }

    }

    //output file letrehozasa
    ofstream output("output.txt");
    //kiiras az output fileba

    for(i=0; i<n; i+){
        for(j=0, j<m, j++)
           output<<b[i][j]<<" ";
        output<<endl;

    }

   return 0;
}

3.

/*

Ez a program beolvas 2D-s
matrixot  egy “input.txt” file bol, megvizsgalja, hogy
az elemei pallindromok e, s ha igen, egy “output_palindrom.txt”
fileba 1 est ir a megfelelő helyre, ha nem, akkor 0 t.

Tovabbá megvizsgálja, hogy a mátrix elemei prímek-e, s ha igen, az
“output_prim.txt” fileba ír 1 est, ha nem, akkor 0 ást.

*/

include <iostream>
#include <stdlib.h>
#include <math.h
#include <fstream>
#include <sstream>

void olvas(int& x,int& y,int b[50][50]){

    int i=0,j=0;

    string line;

    //inputfile deklaralasa

    ifstream file("input.txt");

    if(file.is_open())

    {

        //soronkenti beolvas, majd atalakitas int te

        while (getline(file,)){

           istringstream iss();
         string elem;
           j=0;

           
while (iss > elem){
              
b[i][j]=atoi(elem.c_str());
j++;

            }

            i++;

        }

    }

    else cout<<"nem tudtam megnyitni";

    x=i;

    y=j;

    file.close();

}

//fuggveny a palindrom vizsgalatara
int palindrom(int x)
    int a,b,c;
    a=x;

    b=0;



    while(a!=0){

        c=a%10;

        b=b*10+c;

        a=a/10;

    }

    if(b=x)

        return 1

    else return 0;

}



//fuggveny a primszam vizsgalatra
int prim(int x){

    int i,vizsgal;

    //ha a szam prim, vizsgal 1 marad, ha oszthato lesz 0 lesz

    vizsgal=1;

    for(i=2; i<=sqrt(x); i++){

        if(x%i==0){
       
vizsgal=0;

        }

    }

    return vizsgal;

}



int main(){

    int n,m,i,j,a[50][50],b[50][50];

    //meghivjuk az olvas fuggvenyt

    olvas(n,m,a);

    for(i=0; i<n; i++){

        for(j=0; j<m; j++){

            //a b[i][j] erteke lesz a prim fuggveny visszateritesi erteke
           b[i][j]=prim(a[i][j]);
        }

    }

    ofstream ofile;
    ofile.open("output_prim.txt");
    for(i=0; i<n; i++){
        for(j=0; j<m; j++){
          
//kiirjuk az output fileba
           ofile<<b[i][j]<<" ";

        }
        ofile<<"\n";

    }

    ofile.close();



    for(i=0; i<n; i++){

        for(j=0; j<m; j++){

           b[i][j]=palindrom(a[i][j]);

        }

    }



    ofstream ofile2;
    ofile2.open("output_palindrom.txt");
    for(i=0; i<n; i++){
        for(j=0; j<m; j++){
          
ofile2<<b[i][j]<<" ";

        }

        ofile2<<"\n";

    }

    ofile2.close;

    return 0;

}