![]()
#61
18-05-08 22:45
io più di 221![]()
![]()
miniBill '90 ![]()
#61
18-05-08 22:45
io più di 221![]()
![]()
marcelloma ![]()
#62
18-05-08 23:15
![]()
marcelloma ![]()
#63
19-05-08 01:05
La mezzanotte e' passata,aspettiamo il responso quasi scontato e soprattutto mostriamo i codici
Codice PHP:#include<stdio.h>
int main(){char v=0,d=0,n=0,m=0,c,s[20],*g=s;scanf("%s",s);for(;(c=*g)!=0;g++)(c>96&&c<123)?(c==97||c==101||c==105||c==111||c==117)?n++&(v=v>c?v:c):m++&(d=d>c?d:c):0;printf("%d %c",n+m,n+m?(n>=m?v:d):0);return 0;}
![]()
nico402 ![]()
#64
19-05-08 08:02
ecco il mio:La mezzanotte e' passata,aspettiamo il responso quasi scontato e soprattutto mostriamo i codici
Codice PHP:#include<stdio.h>
int main(){char v=0,d=0,n=0,m=0,c,s[20],*g=s;scanf("%s",s);for(;(c=*g)!=0;g++)(c>96&&c<123)?(c==97||c==101||c==105||c==111||c==117)?n++&(v=v>c?v:c):m++&(d=d>c?d:c):0;printf("%d %c",n+m,n+m?(n>=m?v:d):0);return 0;}
ma vedendo il tuo lo potrei migliorare un pòCodice:#include<stdio.h> int main(){char a[21],v=0,q=0,e=0,k=0,*s=a,m;scanf("%s",a);for(;m=*s;m=*++s)if(m>96&&m<123)if(m==97|m=='i'|m=='e'|m=='o'|m=='u'){v++;q=q<m?m:q;}else{k++;e=e<m?m:e;}printf("%d %c ",k+v,v<k?e:q);return 0;}
eccolo invece con le tue aggiunte:
io facevo 221, questo modificato diventa 217Codice:#include<stdio.h> int main(){char a[21],v=0,q=0,e=0,k=0,*s=a,m;scanf("%s",a);for(;m=*s;m=*++s)(m>96&&m<123)?(m==97|m==101|m==105|m==111|m==117)?v++&(q=q<m?m:q):k++&(e=e<m?m:e):0;printf("%d %c ",k+v,v<k?e:q);return 0;}
![]()
marcelloma ![]()
#65
19-05-08 14:33
Ah allora usando | invece di || non da warning? scemo io che ho usato il visual c++
Comunque ecco il nuovo codice confrontando il tuo, ora e' 216
secondo voi si può scendere piu in basso?Codice:#include<stdio.h> int main(){char v=0,d=0,n=0,m=0,c,s[21],*g=s;scanf("%s",s);for(;c=*g;g++)(c>96&&c<123)?(c==97|c==101|c==105|c==111|c==117)?n++&(v=v>c?v:c):m++&(d=d>c?d:c):0;printf("%d %c ",n+m,n>=m?v:d);return 0;}
![]()
miniBill '90 ![]()
#66
19-05-08 14:57
i vostri due codici(a occhio) sono sbagliati![]()
![]()
marcelloma ![]()
#67
19-05-08 14:59
![]()
miniBill '90 ![]()
#68
19-05-08 15:09
perché se non ci sono lettere mettono due spazi invece che uno alla fine(nico)
perché non metti lo spazio alla fine(tu)
![]()
marcelloma ![]()
#69
19-05-08 15:38
![]()
nico402 ![]()
#70
19-05-08 15:48
il mio vecchio fixed:
posta il tuo oraCodice:#include<stdio.h> int main(){char a[21],v=0,q=0,e=0,k=0,*s=a,m;scanf("%s",a);for(;m=*s;m=*++s)(m>96&&m<123)?(m==97|m==101|m==105|m==111|m==117)?v++&(q=q<m?m:q):k++&(e=e<m?m:e):0;printf(v+k?"%d %c ":"%d ",k+v,v<k?e:q);return 0;}
![]()
miniBill '90 ![]()
#71
19-05-08 15:59
questo è il mioCodice PHP:#include <stdio.h>
int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p:C;}else{V=*p>V?*p:V;v++;}}printf(v+c?"%i %c ":"%i ",v+c,v<c?C:V);return 0;}
se si accettano i doppi spazi alla fine, il codice diventa
(notare come non ho modificato nulla, e non ho utilizzato idee vostre)Codice PHP:#include <stdio.h>
int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p:C;}else{V=*p>V?*p:V;v++;}}printf("%i %c ",v+c,v<c?C:V);return 0;}
riassunto:il mio programma "non fixato" è più lungo di quello nico e di quello di marcio, il programma "fixato" è più corto di quello di nico...
![]()
nico402 ![]()
#72
19-05-08 16:13
l'avevo fixato in fretta, ora ho messo il ternario. non so se è ancora + lungo il mio, ma non ho voglia di contare i caratteriquesto è il mioCodice PHP:#include <stdio.h>
int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p:C;}else{V=*p>V?*p:V;v++;}}printf(v+c?"%i %c ":"%i ",v+c,v<c?C:V);return 0;}
se si accettano i doppi spazi alla fine, il codice diventa
(notare come non ho modificato nulla, e non ho utilizzato idee vostre)Codice PHP:#include <stdio.h>
int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p:C;}else{V=*p>V?*p:V;v++;}}printf("%i %c ",v+c,v<c?C:V);return 0;}
riassunto:il mio programma "non fixato" è più lungo di quello nico e di quello di marcio, il programma "fixato" è più corto di quello di nico...![]()
![]()
miniBill '90 ![]()
#73
19-05-08 17:08
wc -m
![]()
doomersek ![]()
#74
19-05-08 17:39
innanzitutto premetto che i programmi potevano andare bene anche con i doppi spazi alla fine.. me n'ero accorto quando nico mi aveva inviato il suo programma e avevo deciso che poteva andare bene anche così.. quindi scusate per il malinteso
RISULTATI:
nico402 (OK):
Note: c'è il doppio spazio alla fine se in input non ci sono lettere accettabili ma come ho scritto prima lo consideravo correttoCodice:#include<stdio.h> int main(){char a[21],v=0,q=0,e=0,k=0,*s=a,m;scanf("%s",a);for(;m=*s;m=*++s)if(m>96&&m<123)if(m==97|m=='i'|m=='e'|m=='o'|m=='u'){v++;q=q<m?m:q;}else{k++;e=e<m?m:e;}printf("%d %c ",k+v,v<k?e:q);return 0;}
Lunghezza: 221
miniBill '90 (OK):
Note: il programma che mi è arrivato ha uno spazio tra *p e :C e c'è lo spazio tra include e stdioCodice:#include <stdio.h> int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p :C;}else{V=*p>V?*p:V;v++;}}printf(v+c?"%i %c ":"%i ",v+c,v<c?C:V);return 0;}
Lunghezza: 234 (232 senza contare gli spazi)
marcelloma (NOT OK):
Note: Errato perchè in output dopo la lettera che bisognava stampare non c'è lo spazio.Codice:#include<stdio.h> int main(){char v=0,d=0,n=0,m=0,c,s[20],*g=s;scanf("%s",s);for(;(c=*g)!=0;g++)(c>96&&c<123)?(c==9 7||c==101||c==105||c==111||c==117)?n++&(v=v>c?v:c):m++&(d= d>c?d:c):0;printf("%d %c",n+m,n+m?(n>=m?v:d):0);return 0;}
Comunque il programma che mi è arrivato conteniene uno spazio tra =9 e 7| e tra d= e d>
Il vincitore dunque è...
nico402
![]()
![]()
nico402 ![]()
#75
19-05-08 17:42
innanzitutto premetto che i programmi potevano andare bene anche con i doppi spazi alla fine.. me n'ero accorto quando nico mi aveva inviato il suo programma e avevo deciso che poteva andare bene anche così.. quindi scusate per il malinteso
RISULTATI:
nico402 (OK):
Note: c'è il doppio spazio alla fine se in input non ci sono lettere accettabili ma come ho scritto prima lo consideravo correttoCodice:#include<stdio.h> int main(){char a[21],v=0,q=0,e=0,k=0,*s=a,m;scanf("%s",a);for(;m=*s;m=*++s)if(m>96&&m<123)if(m==97|m=='i'|m=='e'|m=='o'|m=='u'){v++;q=q<m?m:q;}else{k++;e=e<m?m:e;}printf("%d %c ",k+v,v<k?e:q);return 0;}
Lunghezza: 221
miniBill '90 (OK):
Note: il programma che mi è arrivato ha uno spazio tra *p e :C e c'è lo spazio tra include e stdioCodice:#include <stdio.h> int main(){char i[21],V=0,C=0,v=0,c=0,t=0,*p=i-1;scanf("%s",i);while(*++p){t=*p-97;if(t>=0&&t<26)if(t&&t^4&&t^8&&t^14&&t^20){c++;C=*p>C?*p :C;}else{V=*p>V?*p:V;v++;}}printf(v+c?"%i %c ":"%i ",v+c,v<c?C:V);return 0;}
Lunghezza: 234 (232 senza contare gli spazi)
marcelloma (NOT OK):
Note: Errato perchè in output dopo la lettera che bisognava stampare non c'è lo spazio.Codice:#include<stdio.h> int main(){char v=0,d=0,n=0,m=0,c,s[20],*g=s;scanf("%s",s);for(;(c=*g)!=0;g++)(c>96&&c<123)?(c==9 7||c==101||c==105||c==111||c==117)?n++&(v=v>c?v:c):m++&(d= d>c?d:c):0;printf("%d %c",n+m,n+m?(n>=m?v:d):0);return 0;}
Comunque il programma che mi è arrivato conteniene uno spazio tra =9 e 7| e tra d= e d>
Il vincitore dunque è...
nico402
PS: apro un nuovo contest? non sarà sulla lunghezza del codice savolta, ma sulla sua efficienza![]()