Скачиваний:
13
Добавлен:
01.05.2014
Размер:
1.44 Кб
Скачать
#include "abba.h"

int isabba(char* s)
{
	int beg = 0; // начало слова
	int end = strlen(s) - 1; // конец слова
	while (beg < end)
	if (s[beg++] != s[end--])
	return 0; // не палиндром
	return 1; // палиндром
} 

int testline(char* line)
{
    char str[512]="";
    strcpy(str,line);
    char* del = " ,.?!:-;+*=/<>(){}[]\n\t";// разделители слов 
    char* word = strtok(str, del); // выделяем первое слово в строке
    // цикл обработки слов в строке
    
    while(word)
    {
    if(isabba(word)) // если слово - палиндром
    {

        return 1;        
    }
    word = strtok(NULL, del); // выделяем следующее слово в строке
    }     
    return 0;
};

int testfile(char* inp,char* outp)
{
	FILE *in,*out;	
	if(inp)
	{
		in = fopen(inp,"r");
		if(in==0)
		{
			printf("Ошибка не могу открыть файл %s\n",inp);
			return 1;
		}	
	}
	else 
	in=stdin;		

	if(outp)
	{
		out = fopen(outp,"w");
		if(out==0)
		{
			printf("Ошибка - не могу создать-открыть файл %s\n",outp);
			return 2;
		}	
	}
	else
	out=stdout;	

	char line[512];
	char ch;
	while(fgets(line,sizeof(line),in)!=0)
	{
	if(testline(line)!=0) ch='+';
	else ch='-';
    	fputc(ch,out);
	fputs(line,out);			
	}

	if(in) fclose(in);
	if(out) fclose(out);

	return 0;
};
Соседние файлы в папке Лабораторная работа2