• Авторизация


УРА 22-02-2009 16:44 к комментариям - к полной версии - понравилось!


#include
#include
#include "stdafx.h"

int litc( char cur ) {
int lit_cl =8;
if (cur >= '0' && cur <= '6') lit_cl = 1;
if (cur == '.') lit_cl = 2;
switch(cur)
{
case '.': lit_cl=2; break;
case 'B': lit_cl=3; break;
case 'E': lit_cl=4; break;
case 'G': lit_cl=5; break;
case 'I': lit_cl=6; break;
case 'N': lit_cl=7; break;
}
return lit_cl;
}

int main()
{
FILE* out; // входной файл
FILE* in; //выходной файл
char ch;
char *list[5] = { "", "целое семиричное без знака", "вещественное семиричное без знака", "ошибка","слово BEGIN"};
int st,pip;
int tablets[10][8]={
{2,4,5,0,0,0,0,10},
{2,3,0,0,0,0,0,0},
{3,0,0,0,0,0,0,0},
{3,0,0,0,0,0,0,0},
{0,0,0,6,0,0,0,0},
{0,0,0,0,7,0,0,0},
{0,0,0,0,0,8,0,0},
{0,0,0,0,0,0,9,0},
{0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0}
};
out = fopen( "output.txt", "wt" );
if ( out == NULL ) {printf( "Bad output\n" ); getchar(); return 1;}

in = fopen( "input.txt", "rt");
if ( in == NULL ) {printf( "Bad input\n" ); getchar(); return 1;}

fread(&ch,1,1,in);
st=1;
while (!feof(in))
{
if (st!=1)
{
if ( ch != '\n') {fprintf(out,"%c",ch);}
else { fprintf(out, "/n"); }
fread(&ch, 1, 1, in);}
int cl=litc(ch);
pip=tablets[st-1][cl-1];
if (pip == 0)
{
if (st<=8 && st>=5) st=4;
if(st==9)st=5;
if (st==10)st=4;

fprintf(out, " - %s\n", list[st-1]);
st = 1;
}
else st = pip;

}
if (pip != 0) {
fprintf(out, " - %s\n", list[st-1]);}


fclose(in);
fclose(out);

return 0;
}
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник УРА | Gf_ab - Together | Лента друзей Gf_ab / Полная версия Добавить в друзья Страницы: раньше»