Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. /* Да се напише програма која во датотеката со име "text.txt", ќе го пронајде редот во кој има најголем број зборови
  2. кои содржат непарен број самогласки. Во излезната датотека со име "text2.txt" да се испечати тој ред.
  3. Доколку во датотеката има повеќе вакви редови (со ист број вакви зборови), да се пријави првиот.
  4. Се смета дека зборовите се составени само од букви и меѓусебно се разделени со произволен број на белини, специјални знаци и цифри.
  5. Во текстуалната датотека нема редови подолги од 100 знаци.
  6.  
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11.  
  12. int main()
  13. {
  14. FILE* dat1=fopen("C:/Users/Neno/Desktop/text.txt", "r");
  15. FILE* dat2=fopen("C:/Users/Neno/Desktop/text2.txt", "w");
  16.  
  17. if(dat1==NULL)
  18. {
  19. return 0;
  20. }
  21.  
  22. if(dat2==NULL)
  23. {
  24. return 0;
  25. }
  26.  
  27. char red[101],max_red[101];
  28. int samoglaski=0,znamence,zborovi=0,i,max=-9999;
  29.  
  30. while(fgets(red,101,dat1)!=NULL)
  31. {
  32.  
  33. znamence=-1;
  34. zborovi=0;
  35.  
  36.  
  37. for(i=0;i<strlen(red)+1;i++)
  38. {
  39. if(znamence==-1 && isalnum(red[i]))
  40. {
  41. znamence=i;
  42. }
  43.  
  44. else if(znamence!=-1 && !(isalnum(red[i])))
  45. {
  46. int j;
  47. for(j=znamence;j<i;j++)
  48. {
  49.  
  50. if(red[j]=='a' || red[j]=='e' || red[j]=='i' || red[j]=='o' || red[j]=='u')
  51. {
  52. samoglaski++;
  53. }
  54.  
  55.  
  56. }
  57.  
  58. if((samoglaski%2)!=0)
  59. {
  60. zborovi++;
  61. }
  62.  
  63.  
  64. samoglaski=0;
  65. znamence=-1;
  66.  
  67. }
  68.  
  69. }
  70.  
  71. if(max<zborovi)
  72. {
  73. max=zborovi;
  74. for(i=0;i<101;i++)
  75. {
  76. max_red[i]=red[i];
  77. }
  78. }
  79.  
  80.  
  81. }
  82.  
  83.  
  84.  
  85. fprintf(dat2,"%s",max_red);
  86.  
  87. fclose(dat1);
  88. fclose(dat2);
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement