View Single Post
Staro 25.03.2012., 23:24   #3
nosorog123
Registered User
 
Datum registracije: Mar 2012
Lokacija: zagreb
Postovi: 3




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
FILE *ulaz;
ulaz = fopen("lab.txt", "r");
char c, st[101][101][21], simb[101][21], prihv[101][21], poc[21], ld[101][21]={0};
int i=1, j=0, z=0, pisi_na=1, k, ret, nst, nsimb, nprihv;
//BEGIN UPIS
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { st[i][0][j] = c; j++; }
else { st[i][0][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
nst = i;
i=1; j=0;
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { simb[i][j] = c; j++; }
else { simb[i][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
nsimb = i;
i=1; j=0;
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { prihv[i][j] = c; j++; }
else { prihv[i][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
if (prihv[1][0] == '\0')
nprihv = 0;
else nprihv = i;
fscanf(ulaz, "%s", poc);
j=1;
for (i=1; i<=(nst*2); i++)
for (j=1; j<=nsimb; j++) {
fseek(ulaz, (ftell(ulaz)+strlen(st[1][0])+strlen(simb[1])+5), SEEK_SET);
fscanf(ulaz, "%s", st[i][j]);
}
/*for (i=1; i<=nst; i++) {
for (j=0; j<=nsimb; j++)
printf("%s ", st[i][j]);
printf("\n");
}
printf("%s\n",poc);*/
//END UPIS
//BEGIN ALGORITAM ZA NEDOHVATLJIVA
for (i=0; i<=101; i++)
ld[i][0]=0;
strcpy(ld[0],poc);
while (ld[z][0] != 0) {
for (i=1; i<=nst; i++) {
if (strcmp(ld[z], st[i][0])==0) {
for (j=1; j<=nsimb; j++) {
for (k=0; k<=pisi_na; k++) {
if (strcmp(ld[k], st[i][j])==0) {ret=0; break;}
else ret=1;
}
if (ret) {strcpy(ld[pisi_na],st[i][j]); pisi_na++;}
}
}
}
z++;
}
//END ALGORITAM ZA NEDOHVATLJIVA


system ("PAUSE");
return 0;
}



-->
moj kod:





#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
FILE *ulaz;
ulaz = fopen("lab.txt", "r");
char c, st[101][101][21], simb[101][21], prihv[101][21], poc[21], ld[101][21]={0};
int i=1, j=0, z=0, pisi_na=1, k, ret, nst, nsimb, nprihv;
//BEGIN UPIS
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { st[i][0][j] = c; j++; }
else { st[i][0][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
nst = i;
i=1; j=0;
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { simb[i][j] = c; j++; }
else { simb[i][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
nsimb = i;
i=1; j=0;
fscanf(ulaz, "%c", &c);
while (c != '\n') {
if (c != ',') { prihv[i][j] = c; j++; }
else { prihv[i][j] = '\0'; i++; j=0; }
fscanf(ulaz, "%c", &c);
}
if (prihv[1][0] == '\0')
nprihv = 0;
else nprihv = i;
fscanf(ulaz, "%s", poc);
j=1;
for (i=1; i<=(nst*2); i++)
for (j=1; j<=nsimb; j++) {
fseek(ulaz, (ftell(ulaz)+strlen(st[1][0])+strlen(simb[1])+5), SEEK_SET);
fscanf(ulaz, "%s", st[i][j]);
}
/*for (i=1; i<=nst; i++) {
for (j=0; j<=nsimb; j++)
printf("%s ", st[i][j]);
printf("\n");
}
printf("%s\n",poc);*/
//END UPIS
//BEGIN ALGORITAM ZA NEDOHVATLJIVA
for (i=0; i<=101; i++)
ld[i][0]=0;
strcpy(ld[0],poc);
while (ld[z][0] != 0) {
for (i=1; i<=nst; i++) {
if (strcmp(ld[z], st[i][0])==0) {
for (j=1; j<=nsimb; j++) {
for (k=0; k<=pisi_na; k++) {
if (strcmp(ld[k], st[i][j])==0) {ret=0; break;}
else ret=1;
}
if (ret) {strcpy(ld[pisi_na],st[i][j]); pisi_na++;}
}
}
}
z++;
}
//END ALGORITAM ZA NEDOHVATLJIVA


system ("PAUSE");
return 0;
}



nosorog123 je offline   Reply With Quote