Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- void counter(char *str)
- {
- int i,l;
- l=1;
- for(i=0;(str[i]!=0);i++)
- {
- if ((str[i-1]!=' ')&&(str[i]==' '))
- {
- if (i!=0) l++;//считаем количество слов в строке
- }
- }
- printf("\nWord count in string = %d\n",l);
- if(l%2 == 0) //если в строке четное количество слов то удаляем лишнее
- {
- vivod(str);//вот этой функцией
- }//если не четное то ничего не меняем, оставляем как было
- }
- void vivod(char *str)
- {
- int j,i,l;
- l=1;
- char str1[200]="0";
- for(j=0,i=0;(str[i]!=0);i++)
- {
- if ((str[i-1]!=' ')&&(str[i]==' '))
- {
- if (i!=0) l++;
- }
- if ((l%2!=0)||(l%2==0)&&(str[i]==' '))
- {
- str1[j]=str[i]; j++;
- };
- }
- strcpy(str,str1);
- }
- main()
- {
- FILE *in_file,*out_file;
- char file_name[200]="0";//имя входного файла
- char a[200]="0";
- char *ptr;
- printf("\n Enter file name:");
- gets(file_name);
- in_file=fopen(file_name,"rt");
- if(in_file==NULL)
- {
- printf("Error open file %s",file_name);
- return 1;
- }
- out_file=fopen("result.txt","wt");
- if(out_file==NULL)
- {
- printf("Eror create file %s",file_name);
- return 1;
- }
- //int k=0;
- while(feof(in_file)==0)
- if(fgets(a,200,in_file)!=NULL)
- {
- ptr=a;
- counter(ptr);
- a[strlen(a)-1]=0;
- printf("%s\n",a);
- fprintf(out_file,"%s\n",a);
- }
- fclose(in_file);
- fclose(out_file);
- printf("\n Result into <result.txt>");
- }
Add Comment
Please, Sign In to add comment