Pagini: 1 2 [3]   În jos
  Imprimă  
Ajutor Subiect: 839 Palindrom2  (Citit de 11956 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
dzzank
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #50 : Martie 02, 2014, 18:01:55 »

Imi da "baaaaab", ceea ce e corect.
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #51 : Martie 02, 2014, 18:40:46 »

Da, dar nu e minim.
Memorat
dzzank
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #52 : Martie 02, 2014, 18:56:16 »

 Aha
Ok, am inteles ce am gresit.
Memorat
cojocarugabi
Strain
*

Karma: -17
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #53 : Iulie 22, 2014, 16:49:57 »

poate cineva sa ma ajute
iau 0 cu solutia
#include <fstream>
#define nmax 20001
using namespace std;
ifstream fi("palindrom2.in");
ofstream fo("palindrom2.out");
char s[nmax];
int corespunde(int p)
{
   for (int i=1;i<=(p+1)/2;++i)
      if (s!=s[p-i+1])
         return 1;
   return 0;     
}
int main(void)
{
   int n=0;
   while (!fi.eof())
     {
         ++n;
        fi.get(s[n]);
        if (s[n]=='\n')
          --n;
      }
   int ok=1;
   int i;
   int p=n;
   if (n%2)
     --p;
   if (corespunde(n)) 
   for (i=1;i<=p && ok;++i)
   {
      for (int j=i;j>0;--j)
          s[n+j]=s[i-j+1];         
      ok=corespunde(n+i);   
   }
   n+=i;
   for (i=1;i<=n;++i)
      fo<<s
   fo.close();
   return 0;   
}
Memorat
cojocarugabi
Strain
*

Karma: -17
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #54 : Iulie 26, 2014, 12:20:20 »

poate cineva sa ma ajute
iau 0 cu solutia
#include <fstream>
#define nmax 20001
using namespace std;
ifstream fi("palindrom2.in");
ofstream fo("palindrom2.out");
char s[nmax];
int corespunde(int p)
{
   for (int i=1;i<=(p+1)/2;++i)
      if (s!=s[p-i+1])
         return 1;
   return 0;     
}
int main(void)
{
   int n=0;
   while (!fi.eof())
     {
         ++n;
        fi.get(s[n]);
        if (s[n]=='\n')
          --n;
      }
   int ok=1;
   int i;
   int p=n;
   if (n%2)
     --p;
   if (corespunde(n)) 
   for (i=1;i<=p && ok;++i)
   {
      for (int j=i;j>0;--j)
          s[n+j]=s[i-j+1];         
      ok=corespunde(n+i);   
   }
   n+=i;
   for (i=1;i<=n;++i)
      fo<<s
   fo.close();
   return 0;   
}
problema sa rezolvat
Memorat
Pagini: 1 2 [3]   În sus
  Imprimă  
 
Schimbă forumul:  

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