Γενικά θέματα για το διαγωνισμό. Ερωτήσεις, προτάσεις και ό,τι άλλο ταιριάζει.
-
jerrak0s
- Δημοσιεύσεις: 16
- Εγγραφή: Τετ Δεκ 17, 2008 10:18 pm
Δημοσίευση
από jerrak0s »
Να και η δική μου:
Κώδικας: Επιλογή όλων
/*LANG: C
TASK: Alexander*/
#include <stdio.h>
int main(void) {
int i,j,L,C;
char k, w='V', r='P';
FILE *fin, *fout;
fin=fopen("Alexander.in","r");
if (fin==NULL) {
printf("Den yparxei arxeio eisodou\n");
return(0);
}
fseek(fin, 0L, SEEK_SET );
fscanf(fin, "%d %d \n %c", &L, &C, &k);
if ((L<10)||(L>10000)) {
printf("O arithmos grammvn prepei na einai apo 10 ews 10000\n");
printf("Ftiakste kainourio arxeio eisodou\n");
fclose(fin);
return(0);
}
if ((C<10)||(C>12000)){
printf("O arithmos psifidwn ana grammh prepei na einai apo 10 ews 12000\n");
printf("Ftiakste kainourio arxeio eisodou\n");
fclose(fin);
return(0);
}
if ((k!='P') && (k!='V')) {
printf("H prwth psifida prepei na einai P 'h V\n");
printf("Ftiakste kainourio arxeio eisodou\n");
fclose(fin);
return(0);
}
fclose(fin);
fout=fopen("Alexander.out","w");
for (i=0; i<L; i++) {
for (j=0; j<C; j++) {
if (k=='P') {
if ((i+j)%2==0) { fprintf(fout,"%c",k); }
if ((i+j)%2==1) { fprintf(fout,"%c",w); }
}
if (k=='V') {
if((i+j)%2==0) fprintf(fout,"%c",k);
if((i+j)%2==1) fprintf(fout,"%c",r);
}
if(j==C-1) fprintf(fout,"\n");
}
}
fclose(fout);
return(0);
}
--------------------------------------------------------------------------
Mpinelikia.net επέρχεται..
--------------------------------------------------------------------------
-
chris
- Δημοσιεύσεις: 528
- Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am
Δημοσίευση
από chris »
Χμμ...
fseek(fin, 0L, SEEK_SET );
Περιττό!
if ((k!='P') && (k!='V')) {
printf("H prwth psifida prepei na einai P 'h V\n");
printf("Ftiakste kainourio arxeio eisodou\n");
fclose(fin);
return(0);
}
Περιττό επίσης... Το αρχείο εισόδου είναι πάντα όπως περιγράφεται στην εκφώνηση!
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.
-
abresas
- Δημοσιεύσεις: 2
- Εγγραφή: Κυρ Φεβ 15, 2009 3:34 pm
Δημοσίευση
από abresas »
there yah go:
(Έχετε χάρη που μου τη ζήτησε ο stathis
)
Κώδικας: Επιλογή όλων
/*
LANG: C
TASK: Alexander
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int L, C, i;
char first, second;
char * line;
FILE * fp = fopen( "Alexander.in", "r" );
fscanf( fp, "%i %i\n%c\n", &L, &C, &first );
fclose( fp );
second = ( first == 'P' ) ? 'V' : 'P';
line = (char*)malloc( (C + 1) * sizeof( char ) );
for ( i = 0; i <= C; ++i ) {
line[ i ] = ( i % 2 ) ? second : first;
}
fp = fopen( "Alexander.out", "w" );
for ( i = 0 ; i < L; ++i ) {
fwrite( line + (i % 2), 1, C, fp );
fwrite( "\n", 1, 1, fp );
}
fclose( fp );
free( line );
return 0;
}
-
thetrojan01
- Δημοσιεύσεις: 712
- Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Δημοσίευση
από thetrojan01 »
abresas: οραία η χρήση του inline if στο πρόγραμμά σου!
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.
-
abresas
- Δημοσιεύσεις: 2
- Εγγραφή: Κυρ Φεβ 15, 2009 3:34 pm
Δημοσίευση
από abresas »
thetrojan01: thanks