Cod sursa(job #311961)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 4 mai 2009 20:11:53
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <string.h>

int main()
{
 FILE *f,*g;
 int n=-1,i=0,j=0,x;
 char v[2001];
 f=fopen("palindrom2.in","r");
 fgets(v,2001,f);
 fclose(f);
 do
 {
  ++n;
 }
 while (v[n]!='\x0');
 do
 {
  x=0;
  ++i;
  j=0;
  do
  {
   ++j;
  }
  while ((i+j<n+1)&&(v[i+j-1]==v[i-j+1]));
  if (i+j!=n+1)
  {
  j=0;
  x=1;
  do
  {
   ++j;
  }
  while ((i+j<n)&&(v[i+j]==v[i-j+1]));
  }
 }
 while ((i+j!=n+1)&&(i+j!=n));
 j=0;
 if (x==0)
 {
 n=2*i+1;
 do
 {
  ++j;
  v[i+j]=v[i-j];
 }
 while (j<i);
 }
 else
 {
  n=2*i+2;
  do
  {
   ++j;
   v[i+j]=v[i-j+1];
  }
  while (j<i+1);
 v[n]='\x0';
 }
 g=fopen("palindrom2.out","w");
 for (i=0;i<n;i++)fprintf(g,"%c",v[i]);
 return 0;
}