infoarena

infoarena - concursuri, probleme, evaluator, articole => .CAMPION => Subiect creat de: Strimbu Alexandru din Martie 27, 2013, 13:13:32



Titlul: Problema alfabetar
Scris de: Strimbu Alexandru din Martie 27, 2013, 13:13:32
Ma chinui de mult la problema alfabetar, data la OMI Iasi 2011. Ea e foarte simpla, algoritmul merge, doar ca am avut probleme cu afisarea rezultatului. Daca deschideam fisierul out prin codeblocks, nu imi aparea nimic. Daca il deschideam dibn afara, prin notepad, imi aparea raspunsul corect. Doar ca evaluatorul imi spune peste tot Wrong Answer. Am reusit sa rezolv aceasta probleme cu o alta matrice, reusind sa afisez si cand deschideam dinauntru. Cu toate acestea, evaluatorul continua sa-mi spuna Wrong Answer pana si la exemplul problemei, la care sunt sigur ca e corect (am vazut cu ochii mei).
Va rog, daca ma puteti ajuta.
Multumesc anticipat.
Cod:
Cod:
#include <fstream>
#include <cstring>
#include <iostream>

using namespace std;
char a[101][201];
char b[101][201];
int main()
{ifstream fin("alfabetar.in");
ofstream fout("alfabetar.out");
int n,i,j,maxim,k,l;
fin>>n;
for(i=0;i<=n;i++)
    fin>>a[i];
maxim=0;
for(i=1;i<=n;i++)
    {k=strlen(a[i]);
     if(k>maxim)
        maxim=k;
    }
for(j=maxim-1,l=0;j>-1;j--,l++)
    {for(i=0,k=0;i<n;i++,k++)
        {b[l][k]=a[i][j];
         if(a[i][j]==0)
            b[l][k]=' ';
        }
    }
for(i=0;i<=maxim;i++)
    {fout<<b[i];
     fout<<"\n";
    }
    return 0;
}



Titlul: Răspuns: Problema alfabetar
Scris de: Stefan Eniceicu din Martie 27, 2013, 14:44:17
E probabil din cauza faptului ca vectorul ala de stringuri b nu are caracterul '\0' la sfarsit, iar cand faci fout << b[ i ] iti crapa, de-asta nu iti arata nici in editor raspunsul. Incearca sa pui la sfarsitul forului in care atribui, b[ l ][ n ] = '\0' si vezi daca iti merge.