Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: eroare de compilare  (Citit de 2734 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
dragomirmanuel
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : Martie 07, 2016, 17:49:54 »

Nu inteleg de ce imi da eroare de compilare. Sad Help me pls

Cod:
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;
int N,i,j,k=0;

char a[5010],b[5010],*p,b1[5010], *q,rez[5010],a1[5010], rez1[5010];
int main()
{

    ifstream f("vecini2.in");
    ofstream g("vecini2.out");
    f>>N;
    f.get();
    f.getline(a,5010);
    f.getline(b,5010);
    for(i=0; i<(N-1); i++)
        for(j=i+1; j<N; j++)
            if(b[i]>b[j]) swap(b[i],b[j]);


    k=0; int save=0;
    strcpy(a1,a);
    strcpy(b1,b);
    strcpy(b1,strrev(b1));

    for(i=0; i<N; i++)
    {
        q=strchr(b1,a[i]);
        if(q)
        {
            rez[++k]=a[i];
            *q='1';
        }
        else
        { a[i]--;
            while(1)
            {
                q=strchr(b1,char(a[i]));
                if(!q) a[i]--;
                else
                {   *q='1';
                    rez[++k]=a[i];
                    break;
                }
                if(a[i]<'a')
                {

                    save=1;
                    break;
                }

            }
            break;

        }
        q=NULL;
    }
int nrul=0;
    if(save==0)
    {

    for(p=b1; *p; p++)
        {if((*p)!='1') {rez[++k]=*p;
                        nrul=1;}}

   if(nrul==0) g<<"0";
   else {for(i=1; i<=k; i++) g<<rez[i];}

    g<<"\n";

    }
    else g<<0;
    k=0;
    save=0;
    for(i=0; i<N; i++)
    {
        q=strchr(b,a1[i]);
        if(q)
        {
            rez1[++k]=a1[i];
            *q='1';
        }
        else
        {
            a1[i]++;
            while(1)
            {
                q=strchr(b,char(a1[i]));
                if(!q) a1[i]++;
                else
                {
                    rez1[++k]=a1[i];
                    *q='1';
                    break;
                }
                if(a1[i]>'z')
                {

                    save=1;
                    break;
                }
            }
            break;

        }
        q=NULL;
    }

 nrul=0;
    if(save==0)
    {

    for(p=b; *p; p++)
        {if((*p)!='1') {rez1[++k]=*p;
                        nrul=1;}}

   if(nrul==0) g<<"0";
   else {for(i=1; i<=k; i++) g<<rez1[i];}

    g<<"\n";}

    return 0;
}

Editat de moderator: Foloseşte tag-ul [ code] [ /code] atunci când postezi linii de cod.
« Ultima modificare: Martie 07, 2016, 23:17:04 de către Dragos-Alin Rotaru » Memorat
robertkarol
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #1 : Martie 26, 2016, 15:34:58 »

"strrev" nu este o functie standard. Ca sa fie compilatorul din Code Blocks la fel cu cel de la OJI/Infoarena, mergi la Settings -> Compiler si bifeaza "Have g++ follow the C++11 ISO C++ language standard"
Crede-ma, ca eu am patit-o la OJI anul trecut, am pierdut o problema de 68 de puncte pt ca am folosit "itoa". Nasol e ca nu prea iti zice nimeni ce sa faci ca sa nu ai problemele astea.  Mad 
Memorat
dragomirmanuel
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #2 : August 25, 2016, 14:36:34 »

Mersi mult de tot !
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines