Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Да се напише програма која во датотеката со име "text.txt", ќе го пронајде редот во кој има најголем број зборови
- кои содржат непарен број самогласки. Во излезната датотека со име "text2.txt" да се испечати тој ред.
- Доколку во датотеката има повеќе вакви редови (со ист број вакви зборови), да се пријави првиот.
- Се смета дека зборовите се составени само од букви и меѓусебно се разделени со произволен број на белини, специјални знаци и цифри.
- Во текстуалната датотека нема редови подолги од 100 знаци.
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- FILE* dat1=fopen("C:/Users/Neno/Desktop/text.txt", "r");
- FILE* dat2=fopen("C:/Users/Neno/Desktop/text2.txt", "w");
- if(dat1==NULL)
- {
- return 0;
- }
- if(dat2==NULL)
- {
- return 0;
- }
- char red[101],max_red[101];
- int samoglaski=0,znamence,zborovi=0,i,max=-9999;
- while(fgets(red,101,dat1)!=NULL)
- {
- znamence=-1;
- zborovi=0;
- for(i=0;i<strlen(red)+1;i++)
- {
- if(znamence==-1 && isalnum(red[i]))
- {
- znamence=i;
- }
- else if(znamence!=-1 && !(isalnum(red[i])))
- {
- int j;
- for(j=znamence;j<i;j++)
- {
- if(red[j]=='a' || red[j]=='e' || red[j]=='i' || red[j]=='o' || red[j]=='u')
- {
- samoglaski++;
- }
- }
- if((samoglaski%2)!=0)
- {
- zborovi++;
- }
- samoglaski=0;
- znamence=-1;
- }
- }
- if(max<zborovi)
- {
- max=zborovi;
- for(i=0;i<101;i++)
- {
- max_red[i]=red[i];
- }
- }
- }
- fprintf(dat2,"%s",max_red);
- fclose(dat1);
- fclose(dat2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement