Detalii evaluare #49811964

Rezumat problemă

#1093 Text

Ion Petre, ca oricare adolescent, este pasionat atât de jocuri, cât şi de informatică. Ultimul astfel de joc este acela de a elimina dintr-un text cuvinte astfel încât fiecare cuvânt rămas să fie urmat de un cuvânt care începe cu aceeaşi literă cu care se termină cuvântul precedent. Face excepţie de la această regulă numai ultimul cuvânt.

Ion Petre, ca oricare adolescent, este pasionat atât de jocuri, cât şi de informatică. Ultimul astfel de joc este acela de a elimina dintr-un text cuvinte astfel încât fiecare cuvânt rămas să fie urmat de un cuvânt care începe cu aceeaşi literă cu care se termină cuvântul precedent. Face excepţie de la această regulă numai ultimul cuvânt.

Pentru un text dat, se cere să se afişeze numărul de cuvinte din text, apoi numărul minim de cuvinte ce pot fi eliminate astfel încât în textul rămas orice cuvânt (cu excepţia ultimului) să se termine cu aceeaşi literă cu care începe cuvântul următor, iar în final să se afişeze cuvintele din text rămase după eliminare, fiecare cuvânt fiind afişat pe câte o linie.

Pentru un text dat, se cere să se afişeze numărul de cuvinte din text, apoi numărul minim de cuvinte ce pot fi eliminate astfel încât în textul rămas orice cuvânt (cu excepţia ultimului) să se termine cu aceeaşi literă cu care începe cuvântul următor, iar în final să se afişeze cuvintele din text rămase după eliminare, fiecare cuvânt fiind afişat pe câte o linie.

Detalii

Problema Text Operații I/O text.in/text.out
Limita timp 0.1 secunde Limita memorie Total: 2 MB / Stivă 1 MB
Id soluție #49811964 Utilizator Csaki Otto (Csaki_Otto)
Fișier text.cpp Dimensiune 1.52 KB
Data încărcării 15 Martie 2024, 15:41 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

text.cpp:1:10: warning: character constant too long for its type [enabled by default]
 const fi='text.in';fo='text.out';

          ^
text.cpp:1:23: warning: character constant too long for its type [enabled by default]
 const fi='text.in';fo='text.out';

                       ^
text.cpp:2:15: error: too many decimal points in number
 var cuv:array[0..20000]of string[20];

               ^
text.cpp:3:15: error: too many decimal points in number
     l,p:array[0..20000]of integer;

               ^
text.cpp:16:14: error: empty character constant
         if s='' then continue;

              ^
text.cpp:1:7: error: 'fi' does not name a type
 const fi='text.in';fo='text.out';

       ^
text.cpp:1:20: error: 'fo' does not name a type
 const fi='text.in';fo='text.out';

                    ^
text.cpp:2:1: error: 'var' does not name a type
 var cuv:array[0..20000]of string[20];

 ^
text.cpp:3:5: error: 'l' does not name a type
     l,p:array[0..20000]of integer;

     ^
text.cpp:4:5: error: 'lmax' does not name a type
     lmax,pmax:array['a'..'z']of integer;

     ^
text.cpp:5:5: error: 'ncuv' does not name a type
     ncuv,lsol,psol:integer;

     ^
text.cpp:6:5: error: 'lit' does not name a type
     lit:char;

     ^
text.cpp:7:1: error: 'procedure' does not name a type
 procedure citire;

 ^
text.cpp:8:1: error: 'var' does not name a type
 var f:text;

 ^
text.cpp:9:6: error: found ':' in nested-name-specifier, expected '::'
     s:string;

      ^
text.cpp:9:5: error: 's' does not name a type
     s:string;

     ^
text.cpp:10:6: error: found ':' in nested-name-specifier, expected '::'
     i:byte;

      ^
text.cpp:10:5: error: 'i' does not name a type
     i:byte;

     ^
text.cpp:11:1: error: 'begin' does not name a type
 begin

 ^
text.cpp:12:23: error: expected constructor, destructor, or type conversion before '(' token
     assign(f,fi);reset(f);

                       ^
text.cpp:13:5: error: 'ncuv' does not name a type
     ncuv:=0;

     ^
text.cpp:14:5: error: expected unqualified-id before 'while'
     while not seekeof(f) do begin

     ^
text.cpp:16:9: error: expected unqualified-id before 'if'
         if s='' then continue;

         ^
text.cpp:17:9: error: expected unqualified-id before 'while'
         while s[1]=' ' do delete(s,1,1);

         ^
text.cpp:18:9: error: expected unqualified-id before 'while'
         while s[length(s)]=' ' do delete(s,length(s),1);

         ^
text.cpp:19:9: error: 'i' does not name a type
         i:=pos(' ',s);

         ^
text.cpp:20:9: error: expected unqualified-id before 'while'
         while i<>0 do begin

         ^
text.cpp:22:15: error: 'cuv' does not name a type
               cuv[ncuv]:=copy(s,1,i-1);

               ^
text.cpp:23:15: error: expected unqualified-id before 'delete'
               delete(s,1,i);

               ^
text.cpp:24:15: error: 'i' does not name a type
               i:=pos(' ',s)

               ^
text.cpp:26:12: error: expected constructor, destructor, or type conversion before '(' token
         inc(ncuv);cuv[ncuv]:=s

            ^
text.cpp:26:19: error: 'cuv' does not name a type
         inc(ncuv);cuv[ncuv]:=s

                   ^
text.cpp:28:10: error: expected constructor, destructor, or type conversion before '(' token
     close(f)

          ^
text.cpp:30:1: error: 'procedure' does not name a type
 procedure dinamica;

 ^
text.cpp:31:1: error: 'var' does not name a type
 var i:integer;

 ^
text.cpp:32:1: error: 'begin' does not name a type
 begin

 ^
text.cpp:35:7: error: 'l' does not name a type
       l[i]:=lmax[lit]+1;

       ^
text.cpp:36:7: error: 'p' does not name a type
       p[i]:=pmax[lit];

       ^
text.cpp:37:7: error: 'lit' does not name a type
       lit:=cuv[i][length(cuv[i])];

       ^
text.cpp:38:7: error: expected unqualified-id before 'if'
       if l[i]>lmax[lit] then begin

       ^
text.cpp:40:9: error: 'pmax' does not name a type
         pmax[lit]:=i

         ^
text.cpp:43:3: error: 'lsol' does not name a type
   lsol:=0;

   ^
text.cpp:44:3: error: expected unqualified-id before 'for'
   for lit:='a' to 'z' do

   ^
text.cpp:47:9: error: 'psol' does not name a type
         psol:=pmax[lit]

         ^
text.cpp:50:1: error: 'procedure' does not name a type
 procedure scriere;

 ^
text.cpp:51:1: error: 'var' does not name a type
 var f:text;

 ^
text.cpp:52:6: error: found ':' in nested-name-specifier, expected '::'
     i:integer;

      ^
text.cpp:52:5: error: 'i' does not name a type
     i:integer;

     ^
text.cpp:53:1: error: 'begin' does not name a type
 begin

 ^
text.cpp:54:24: error: expected constructor, destructor, or type conversion before '(' token
    assign(f,fo);rewrite(f);

                        ^
text.cpp:55:11: error: expected constructor, destructor, or type conversion before '(' token
    writeln(f,ncuv,' ',ncuv-lsol);

           ^
text.cpp:56:4: error: 'i' does not name a type
    i:=psol;

    ^
text.cpp:57:4: error: expected unqualified-id before 'while'
    while p[i]<> 0 do begin

    ^
text.cpp:59:6: error: 'i' does not name a type
      i:=p[i];

      ^
text.cpp:60:4: error: 'end' does not name a type
    end;

    ^
text.cpp:61:4: error: expected unqualified-id before 'while'
    while i<>psol do begin

    ^
text.cpp:63:9: error: 'i' does not name a type
         i:=l[i]

         ^
text.cpp:65:11: error: expected constructor, destructor, or type conversion before '(' token
    writeln(f,cuv[psol]);

           ^
text.cpp:66:9: error: expected constructor, destructor, or type conversion before '(' token
    close(f)

         ^
text.cpp:68:1: error: 'begin' does not name a type
 begin

 ^
text.cpp:70:3: error: 'dinamica' does not name a type
   dinamica;

   ^
text.cpp:71:3: error: 'scriere' does not name a type
   scriere

   ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Text face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.