Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *Napíšte program, ktorý slová zo súborov prvy.txt a druhy.txt zapíše do
- *súboru treti.txt striedavo tak, že každé nepárne slovo v súbore treti.txt
- *bude zo súboru prvy.txt a každé párne zo súboru druhy.txt v poradí, ako
- *boli v pôvodných súboroch. Každé (aj posledné) slovo v súbore treti.txt bude
- *nasledované medzerou. Naviac, pred každým slovom bude značka vyjadrujúca,
- *z ktorého súboru slovo pochádza. Ak zo súboru prvy.txt, značkou je znak +, ak
- *zo súboru druhy.txt, značkou je znak -. Ak niektorý zo súborov obsahuje viac
- *slov ako druhý, potom tieto budú zapísané za sebou na konci súboru treti.txt.
- *Predpokladajte, že slová obsahujú len písmená a oddelené môžu byť len jednou
- *medzerou alebo jedným znakom konca riadku.
- */
- // uloha-5-6.c -- Tyzden 5 - Uloha 6
- // Michal Kovacik, 21.10.2013 08:37:22
- #include <stdio.h>
- int main()
- {
- FILE *fr1, *fr2, *fw;
- int c, slov1=0, slov2=0, slovmin, i;
- if((fr1=fopen("prvy.txt", "r"))==NULL || (fr2=fopen("druhy.txt", "r"))==NULL || (fw=fopen("treti.txt", "w"))==NULL)
- {
- printf("Subor sa nepodarilo otvorit\n");
- return 0;
- }
- while((c=getc(fr1))!=EOF)
- if (c==' ' || c=='\n')
- slov1++;
- fseek(fr1, -1, SEEK_END);
- if(getc(fr1)==' ')
- slov1--;
- (slov1>0)? slov1++:0;
- rewind(fr1);
- while((c=getc(fr2))!=EOF)
- if(c==' ' || c=='\n')
- slov2++;
- fseek(fr2, -1, SEEK_END);
- if(getc(fr2)==' ')
- slov2--;
- (slov2>0)? slov2++:0;
- rewind(fr2);
- (slov1<=slov2)? (slovmin=slov1):(slovmin=slov2);
- for(i=1; i<=slovmin; i++)
- {
- fprintf(fw, "+");
- while((c=getc(fr1))!=EOF && c!=' ' && c!='\n')
- fprintf(fw, "%c", c);
- fprintf(fw, " -");
- while((c=getc(fr2))!=EOF && c!=' ' && c!='\n')
- fprintf(fw, "%c", c);
- fprintf(fw, " ");
- }
- if(slov1>slov2)
- {
- for(slov1-=slovmin; slov1>0; slov1--)
- {
- fprintf(fw, "+");
- while((c=getc(fr1))!=EOF && c!=' ' && c!='\n')
- fprintf(fw, "%c", c);
- fprintf(fw, " ");
- }
- }
- else
- {
- for(slov2-=slovmin; slov2>0; slov2--)
- {
- fprintf(fw, "-");
- while((c=getc(fr2))!=EOF && c!=' ' && c!='\n')
- fprintf(fw, "%c", c);
- fprintf(fw, " ");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement