Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Функция (http://forum.oszone.net/showthread.php?t=249749)

pashazt 22-12-2012 23:58 2051278

Функция
 
Вот функция которая выводит на экран слова, которые имеют непарное количество согласных букв.
Код:

void print2(const char *b, const char *e)
{
    int cnt=0;
    for( const char* p = b; p != e; p++ )
        if (!(( *p=='a' || *p=='o' || *p=='e' || *p=='u' || *p=='y' || *p=='i')||
              (  *p=='A' || *p=='O' || *p=='E' || *p=='U' || *p=='Y' || *p=='I')))                                                         
            cnt++;
           
    if(cnt%2==1)
    {
     
      for( const char* p = b; p != e; p++ )
          putch( *p );
          printf("\n");
         
    }
}

Допишите ее так, что бы она удаляла эти слова из файла.

ferget 23-12-2012 00:33 2051295

Очень странная функция
Как ее вызывать?

pashazt 23-12-2012 00:50 2051310

та неважно как ее вызывать, помоги с удалением.

ferget 23-12-2012 01:35 2051334

что-то вроде этого

Код:

#include <stdio.h>
#include <stdlib.h>

bool print2(const char *b, const char *e)
{
    int cnt=0;
    for( const char* p = b; p != e; p++ )
        if (!(( *p=='a' || *p=='o' || *p=='e' || *p=='u' || *p=='y' || *p=='i')||
              (  *p=='A' || *p=='O' || *p=='E' || *p=='U' || *p=='Y' || *p=='I')))                                                         
            cnt++;
           
    if(cnt%2==1)
      return false;
    else
      return true;
}


int main()
{
   
    char s[80];
    FILE *file;
 
    file = fopen("input.txt","r");
    if(!file)
    {
        printf("File don't open\n");
        exit(-1);
    }
   
    file2 = fopen("output.txt","w");
    if(!file2)
    {
        printf("File don't open\n");
        exit(-1);
    }
 
    while(!feof(file))
    {
        fscanf(file,"%s", &s);
       
        if(print2(что тут писать не понятно))
        {
            fprintf(file2, "%s ", s);
        }
        else
        {
            fprintf(file2, "%s ", " ");
        }
    }
   
    fclose(file);
    fclose(file2);
    return 0;
}



Время: 10:45.

Время: 10:45.
© OSzone.net 2001-