Zdrojové kódy pro vývojáře.
Přeskočit odkazy pro navigaci Top 10 přispěvatelů
UživatelČlánky
codeshare45
sochor1
stoupa1
tomas.oplt15
Článek: Algoritmus - Mealyho automat
Špatný Super
Autor:
Vytvořeno:
Popularita:

Ze vstupního souboru odstraní poznámky (tzn. vše mezi /* */, včetně ohraničení poznámky). Automat nesmí mazat poznámky v řetězcích - např. printf("/*Toto neni poznamka*/");
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
#include #define SIZE 100
int main(int argc, char* argv[])
{
 int i=0, count=0;
 char txt[4096] ;
 char txtOut[4096] ;
 if ( argc < 2 )
 {
  printf("Enter text for conversion : ");
  gets(txt);
  fflush (stdin);
 }
 else
 {
  FILE * file = stdin;
  if ( (file=fopen(argv[1], "r")) == NULL )
  { 
   fprintf(stderr, "Cannot open file %s \n", argv[1]);
   return 0;
  }
  else
  {
   char line[1024];
   int txtpos=0;
   int linepos=0;
   while ( fgets( line, 1024, file ) != NULL)
   {
    linepos=0;
    char c='a';
    while ( true )
    {  
     c = line[linepos++];
     if ( c == '\n' || c == 0 )
      break;
     txt[txtpos++]=c;
    }
   }
   txt[txtpos]='\0';
   fclose( file );
  }
 }



 int len = strlen( txt );
 char c1='a';
 char c2='a';
 bool bSupress=false;
 int outLen = 0;  for ( int i = 0; i<=len;i++ )
 {
  c1 = txt[i];
  c2 = txt[i+1];   if ( bSupress == true )
  {
   if ( c1 == '*' && c2 == '/' )
   {
    bSupress=false;
    i++;
   }
  }
  else
  {
   if ( c1 != '/' && c2 != '*' )
    txtOut[outLen++] = c1;
   else
   {
    bSupress=true;
   }
  }
 }
 txtOut[outLen]='\0';  cout <<"Output: "< getch();
}

 

  Na stránku 
screen  Nový příspěvek
Název  Uživatel  Datum 
Poslední návštěva: 14:34:38, 21. listopadu 2017 První  Předchozí  0 Záznamů  Další  Poslední  

Autor článku
Jméno
Pracovní pozice
Informace
Foto

   

Počet návštěvníků:28
 
  Kontakt