create function int isVowel (char c) create function int vowels (char s [])
Какая строка из файла содержит наибольшее количество гласных - в случае связи, показывать только 1-й @ очевидноя должен использовать функции, описанные выше, это то, что я пытаюсь сделать, но я не совсем уверен, как на самом деле это сделать, я мог бы использовать некоторые подсказки
Я просто не совсем уверен, как это сделать
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isvowel(char c)
{
int vowel=0;
int i;
int x=0;
//for(i=0; i<5; i++){
// counter[i]=0;}
for(i=0; i <c; i++)
{
if (c=='a' || c=='A')
vowel++;
else if (c=='e' || c=='E')
vowel++;
else if (c=='i' || c=='I')
vowel++;
else if (c=='o' || c=='O')
vowel++;
else if (c=='u' || c=='U')
vowel++;
}
return vowel;
}
int main( int argc, char *argv[] )
{
char max[1024];
char** buff;
int i=0 ,num = 5;
FILE *infile;
int lc = 0; //counts how many lines there are
int p;
//asks for file name if none is supplied
if ( argc < 2 )
{
printf("Must supply file name\n");
return 1;
}
infile = fopen( argv[1], "r" );
//checks to see if file opens
if ( infile == NULL )
{
printf("could not open %s\n", argv[1]);
return 1;
}
buff = (char**)calloc(sizeof(max),sizeof(char));
int k;
for(k=0; k<num;k++){
buff[k] = (char*)calloc(sizeof(max),sizeof(char));
}
while(fgets(max,sizeof(max),infile)){
strcpy(buff[i],max);
i++;
}
int x;
for(x =1; x<i;x++){
lc++;
printf("%d:%s",x,buff[x]);
}
p = isvowel(i);
printf("your number of vowels is:%d",p);
return 0;
}
должен напечатать строку с большинством гласных прямо сейчас, я даже не могу заставить ее считать любые гласные