https://www.adonaimedrado.pro.br/wiki/api.php?action=feedcontributions&user=200.17.147.2&feedformat=atom
AdonaiMedrado.Pro.Br - User contributions [en]
2024-03-29T10:41:18Z
User contributions
MediaWiki 1.26.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Problema_do_quadrado_g%C3%AAmeo_das_partes&diff=3316
Problema do quadrado gêmeo das partes
2009-07-15T12:07:37Z
<p>200.17.147.2: /* Dificuldade única */</p>
<hr />
<div>== Dificuldade única ==<br />
Existem alguns números que têm uma propriedade bastante interessante, observe:<br />
<br />
;100<br />
:10+0=10 10*10=100<br />
;2025<br />
:20+25=45 45*45=2025<br />
;3025<br />
:30+25=55 55*55=3025<br />
;9801<br />
:98+1=99 99*99=9801<br />
;10000<br />
:100+0=100 100*100=10000<br />
;88209<br />
:88+209=297 297*297=88209<br />
;494209<br />
:494+209=703 703*703=494209<br />
;998001<br />
:998+1=999 999*999=998001<br />
<br />
Conheça mais sobre esta propriedade em [http://pt.wikipedia.org/wiki/N%C3%BAmero_de_Kaprekar número de Kaprekar].<br />
<br />
Cada um dos números apresentados tiveram seus algarismos decompostos de tal forma que a soma das partes elevado ao quadrado era igual ao número original.<br />
<br />
Faça um programa, utilizando a linguagem C, capaz de ler e identificar se um determinado número n (1<=n<=100.000.000) possui ou não esta propriedade. Caso positivo, o programa deverá retornar uma única linha com o valor 1, caso contrário deve-se retornar uma linha com valor 0.<br />
<br />
Considere que n sempre será informado com um valor válido.<br />
<br />
=== Exemplo 1 ===<br />
<br />
==== Entrada ====<br />
60481729<br />
<br />
==== Saída ====<br />
1<br />
<br />
=== Exemplo 2 ===<br />
<br />
==== Entrada ====<br />
60481728<br />
<br />
==== Saída ====<br />
0<br />
<br />
=== Exemplo 3 ===<br />
<br />
==== Entrada ====<br />
300814336<br />
<br />
==== Saída ====<br />
1<br />
<br />
=== Exemplo 4 ===<br />
<br />
==== Entrada ====<br />
88200<br />
<br />
==== Saída ====<br />
0</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Mauricio_Lage)&diff=3248
Solução: Problema da palavra mágica (Mauricio Lage)
2009-07-03T16:54:48Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
int crescente(const void *a, const void *b)<br />
{<br />
return *(char *)a-*(char *)b;<br />
}<br />
<br />
<br />
int main(int argc, char** argv) {<br />
<br />
char palavra[101];<br />
char prefixo[51]= "";<br />
char sufixo[51]= "";<br />
int tamPalavra;<br />
<br />
scanf("%s", palavra);<br />
tamPalavra= strlen(palavra);<br />
if( (tamPalavra % 2) == 0 ) {<br />
strncat(prefixo, palavra, tamPalavra/2);<br />
strncat(sufixo, &palavra[tamPalavra/2], tamPalavra/2); <br />
qsort(prefixo, (tamPalavra / 2), sizeof(char), crescente); <br />
if(!strcmp(prefixo, sufixo)) {<br />
printf("%c\n", 'S');<br />
}<br />
else {<br />
printf("%c\n", 'N'); <br />
}<br />
<br />
}<br />
else {<br />
printf("%c\n", 'N');<br />
}<br />
<br />
<br />
return (EXIT_SUCCESS);<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Mauricio_Lage)&diff=3247
Solução: Problema da palavra mágica (Mauricio Lage)
2009-07-03T16:52:48Z
<p>200.17.147.2: New page: #include <stdio.h> #include <stdlib.h> #include <string.h> int crescente(const void *a, const void *b) { return *(char *)a-*(char *)b; } int main(int argc, char** argv) { char...</p>
<hr />
<div>#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
int crescente(const void *a, const void *b)<br />
{<br />
return *(char *)a-*(char *)b;<br />
}<br />
<br />
<br />
int main(int argc, char** argv) {<br />
<br />
char palavra[101];<br />
char prefixo[51]= "";<br />
char sufixo[51]= "";<br />
int tamPalavra;<br />
<br />
scanf("%s", palavra);<br />
tamPalavra= strlen(palavra);<br />
if( (tamPalavra % 2) == 0 ) {<br />
strncat(prefixo, palavra, tamPalavra/2);<br />
strncat(sufixo, &palavra[tamPalavra/2], tamPalavra/2); <br />
qsort(prefixo, (tamPalavra / 2), sizeof(char), crescente); <br />
if(!strcmp(prefixo, sufixo)) {<br />
printf("%c\n", 'S');<br />
}<br />
else {<br />
printf("%c\n", 'N'); <br />
}<br />
<br />
}<br />
else {<br />
printf("%c\n", 'N');<br />
}<br />
<br />
<br />
return (EXIT_SUCCESS);<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_conjunto_e_seus_elementos_%C3%BAnicos_(Bruno_Barbosa)&diff=3245
Solução: Problema do conjunto e seus elementos únicos (Bruno Barbosa)
2009-07-03T16:45:45Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int main(){<br />
int i, n;<br />
<br />
scanf("%d", &n);<br />
<br />
int k[n];<br />
<br />
for(i=0;i<n;i++)<br />
scanf("%d", k+i);<br />
<br />
printf("\n");<br />
<br />
qsort(k, n, sizeof(int), comparar);<br />
<br />
printf("%d\n", *k);<br />
<br />
for(i=1;i<n;i++)<br />
if(*(k+i)!=*(k+i-1))<br />
printf("%d\n", *(k+i));<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_conjunto_e_seus_elementos_%C3%BAnicos_(Bruno_Barbosa)&diff=3244
Solução: Problema do conjunto e seus elementos únicos (Bruno Barbosa)
2009-07-03T16:22:16Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int main(){<br />
int i, n;<br />
<br />
scanf("%d", &n);<br />
<br />
int k[n];<br />
<br />
for(i=0;i<n;i++)<br />
scanf("%d", k+i);<br />
<br />
printf("\n");<br />
<br />
qsort(k, n, sizeof(int), comparar);<br />
<br />
printf("%d\n", *k);<br />
<br />
for(i=1;i<n;i++)<br />
if(*(k+i)!=*(k+i-1))<br />
printf("%d\n", *(k+i));<br />
while(!key[KEY_ESC]);<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_conjunto_e_seus_elementos_%C3%BAnicos_(Bruno_Barbosa)&diff=3243
Solução: Problema do conjunto e seus elementos únicos (Bruno Barbosa)
2009-07-03T16:21:09Z
<p>200.17.147.2: New page: <code lang = "c"> #include <stdio.h> #include <stdlib.h> int comparar(const void *a, const void *b) { return *(int *)a-*(int *)b; } int main(){ int i, n; scanf("%d", &n); int k[...</p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int main(){<br />
int i, n;<br />
<br />
scanf("%d", &n);<br />
<br />
int k[n];<br />
<br />
for(i=0;i<n;i++)<br />
scanf("%d", k+i);<br />
<br />
printf("\n");<br />
<br />
qsort(k, n, sizeof(int), comparar);<br />
<br />
printf("%d\n", *k);<br />
<br />
for(i=1;i<n;i++)<br />
if(*(k+i)!=*(k+i-1))<br />
printf("%d\n", *(k+i));<br />
while(!key[KEY_ESC]);<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_5_(L%C3%BAcio_Ribeiro)&diff=3135
Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro)
2009-06-12T19:05:42Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
<br />
// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
void erro(char **vet,char *palavra, int i, int caso)<br />
{<br />
while(i)<br />
{<br />
i--;<br />
free(*(vet+i));<br />
}<br />
free(vet);<br />
if(caso)<br />
exit(caso);<br />
}<br />
<br />
int comparar(const void *a ,const void *b)<br />
{<br />
return strcmp( *(char**)a, *(char**)b );<br />
}<br />
<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
FILE *arquivo;<br />
<br />
<br />
arquivo = fopen("dif5.txt","r");<br />
<br />
do /*ler e alocar*/<br />
{<br />
if(fscanf(arquivo,"%d",&k)==EOF)<br />
break;<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
erro(vet,palavra,linha,1);<br />
fscanf(arquivo,"%s",palavra);<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
erro(vet,palavra,linha,1);<br />
strcpy(*(vet+linha-1), palavra);<br />
}while(1);<br />
<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
<br />
qsort(vet,linha,sizeof(char**),comparar);<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*definir moda*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)/*imprimir*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
erro(vet,palavra,linha,0);<br />
return 0;<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_5_(L%C3%BAcio_Ribeiro)&diff=3134
Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro)
2009-06-12T19:04:35Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
<br />
// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
void erro(char **vet,char *palavra, int i, int caso)<br />
{<br />
while(i)<br />
{<br />
i--;<br />
free(*(vet+i));<br />
}<br />
free(vet);<br />
if(caso)<br />
exit(1);<br />
}<br />
<br />
int comparar(const void *a ,const void *b)<br />
{<br />
return strcmp( *(char**)a, *(char**)b );<br />
}<br />
<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
FILE *arquivo;<br />
<br />
<br />
arquivo = fopen("dif5.txt","r");<br />
<br />
do /*ler e alocar*/<br />
{<br />
if(fscanf(arquivo,"%d",&k)==EOF)<br />
break;<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
erro(vet,palavra,linha,1);<br />
fscanf(arquivo,"%s",palavra);<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
erro(vet,palavra,linha,1);<br />
strcpy(*(vet+linha-1), palavra);<br />
}while(1);<br />
<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
<br />
qsort(vet,linha,sizeof(char**),comparar);<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*definir moda*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)/*imprimir*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
erro(vet,palavra,linha,0);<br />
return 0;<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_5_(L%C3%BAcio_Ribeiro)&diff=3133
Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro)
2009-06-12T19:03:10Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
void erro(char **vet,char *palavra, int i, int caso)<br />
{<br />
while(i)<br />
{<br />
i--;<br />
free(*(vet+i));<br />
}<br />
free(vet);<br />
if(caso)<br />
exit(1);<br />
}<br />
int comparar(const void *a ,const void *b)<br />
{<br />
return strcmp( *(char**)a, *(char**)b );<br />
}<br />
<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
FILE *arquivo;<br />
<br />
<br />
arquivo = fopen("dif5.txt","r");<br />
<br />
do /*ler e alocar*/<br />
{<br />
if(fscanf(arquivo,"%d",&k)==EOF)<br />
break;<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
erro(vet,palavra,linha,1);<br />
fscanf(arquivo,"%s",palavra);<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
erro(vet,palavra,linha,1);<br />
strcpy(*(vet+linha-1), palavra);<br />
}while(1);<br />
<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
<br />
qsort(vet,linha,sizeof(char**),comparar);<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*j eh parcial*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
erro(vet,palavra,linha,0);<br />
return 0;<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_simplifica%C3%A7%C3%A3o_das_fra%C3%A7%C3%B5es_(Bruno_Barbosa)&diff=3132
Solução: Problema da simplificação das frações (Bruno Barbosa)
2009-06-12T18:53:52Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
<br />
int analisaImprime(int num, int x, int y);<br />
<br />
int analisaImprime(int i, int x, int y){<br />
<br />
while((x%i!=0)||(y%i!=0)){<br />
i--;<br />
}<br />
if((x%i == 0)&&(y%i==0))<br />
printf("%d %d\n", x/i, y/i);<br />
<br />
else<br />
printf("%d %d\n", x, y);<br />
}<br />
<br />
int main(){<br />
<br />
int n, m;<br />
scanf("%d %d", &n, &m);<br />
<br />
while(n || m){ <br />
<br />
if(!n || !m){<br />
<br />
if(n != 0)<br />
printf("%d %d\n", n/n, m);<br />
if(m != 0)<br />
printf("%d %d\n", n, m/m);<br />
}<br />
<br />
else<br />
analisaImprime(n, n, m); <br />
<br />
scanf("%d %d", &n, &m);<br />
}<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_5_(L%C3%BAcio_Ribeiro)&diff=3131
Solução: Problema da moda - dificuldade 5 (Lúcio Ribeiro)
2009-06-12T18:42:28Z
<p>200.17.147.2: New page: <code lang="c">// Lúcio Ribeiro #include <stdio.h> #include <stdlib.h> #include <string.h> void erro(char **vet,int i, int caso) { while(i) { i--; free(*(vet+i)); } free(vet); f...</p>
<hr />
<div><code lang="c">// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
void erro(char **vet,int i, int caso)<br />
{<br />
while(i)<br />
{<br />
i--;<br />
free(*(vet+i));<br />
}<br />
free(vet);<br />
free(palavra);<br />
if(caso)<br />
exit(1);<br />
}<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
FILE *arquivo;<br />
<br />
<br />
arquivo = fopen("dif5.txt","r");<br />
<br />
do /*ler e alocar*/<br />
{<br />
if(fscanf(arquivo,"%d",&k)==EOF)<br />
break;<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
erro(vet,linha,1);<br />
fscanf(arquivo,"%s",palavra);<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
erro(vet,linha,1);<br />
strcpy(*(vet+linha-1), palavra);<br />
}while(1);<br />
<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
<br />
for(i=0;i<linha;i++) /*ordenar*/<br />
{<br />
for(j=i+1;j<linha;j++)<br />
{<br />
if(strcmp(*(vet+i),*(vet+j))>0)<br />
{<br />
palavra = (char *) realloc(palavra, sizeof(char)*(strlen(*(vet+i))+1));<br />
strcpy(palavra, *(vet+i));<br />
*(vet+i) = (char*) realloc(*(vet+i),sizeof(char)*(strlen(*(vet+j))+1));<br />
strcpy(*(vet+i), *(vet+j));<br />
*(vet+j) = (char*) realloc(*(vet+j),sizeof(char)*(strlen(palavra)+1));<br />
strcpy(*(vet+j), palavra);<br />
}<br />
}<br />
}<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*j eh parcial*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
erro(vet,linha,0)<br />
return 0;<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_simplifica%C3%A7%C3%A3o_das_fra%C3%A7%C3%B5es_(Bruno_Barbosa)&diff=3055
Solução: Problema da simplificação das frações (Bruno Barbosa)
2009-06-05T19:10:56Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
<br />
int main(){<br />
int n, m, i;<br />
scanf("%d %d", &n, &m);<br />
<br />
while(n || m){ <br />
<br />
if(!n || !m){<br />
printf("%d %d\n", n, m);<br />
}<br />
else{<br />
if(n==m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
<br />
if(n>m){<br />
i = m;<br />
while((m%i!=0)&&(n%i!=0)){<br />
i--;<br />
}<br />
if((m%i == 0)&&(n%i==0))<br />
printf("%d %d\n", n/i, m/i);<br />
<br />
else<br />
printf("%d %d\n", n, m);<br />
<br />
}<br />
<br />
if(n<m){<br />
i = n;<br />
while((m%i!=0)&&(n%i!=0)){<br />
i--;<br />
}<br />
if((m%i!=0)&&(n%i!=0))<br />
printf("%d %d\n", n/i, m/i);<br />
else<br />
printf("%d %d\n", n, m);<br />
}<br />
<br />
}<br />
scanf("%d %d", &n, &m);<br />
}<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_simplifica%C3%A7%C3%A3o_das_fra%C3%A7%C3%B5es_(Bruno_Barbosa)&diff=3054
Solução: Problema da simplificação das frações (Bruno Barbosa)
2009-06-05T19:10:14Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
<br />
int main(){<br />
int n, m, i, teste;<br />
scanf("%d %d", &n, &m);<br />
<br />
while(n || m){ <br />
<br />
if(!n || !m){<br />
printf("%d %d\n", n, m);<br />
}<br />
else{<br />
if(n==m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
<br />
if(n>m){<br />
i = m;<br />
while((m%i!=0)&&(n%i!=0)){<br />
i--;<br />
}<br />
if((m%i == 0)&&(n%i==0))<br />
printf("%d %d\n", n/i, m/i);<br />
<br />
else<br />
printf("%d %d\n", n, m);<br />
<br />
}<br />
<br />
if(n<m){<br />
i = n;<br />
while((m%i!=0)&&(n%i!=0)){<br />
i--;<br />
}<br />
if((m%i!=0)&&(n%i!=0))<br />
printf("%d %d\n", n/i, m/i);<br />
else<br />
printf("%d %d\n", n, m);<br />
}<br />
<br />
}<br />
scanf("%d %d", &n, &m);<br />
}<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_professor_de_terceiro_ano_(M%C3%A1rcio_Trindade)&diff=3053
Solução: Problema do professor de terceiro ano (Márcio Trindade)
2009-06-05T18:43:38Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
#include<stdio.h><br />
<br />
<br />
int main(void)<br />
{<br />
struct student<br />
{<br />
char nome[51];<br />
int resp;<br />
int nota;<br />
};<br />
<br />
struct student aluno[100], troca;<br />
int i,j, gab, n, bin1, acum;<br />
float med=0;<br />
<br />
scanf("%d",&gab);<br />
scanf("%d",&n);<br />
for(i=0;i<n;i++)<br />
{<br />
scanf("%s",aluno[i].nome);<br />
scanf("%d",&(aluno[i].resp));<br />
bin1 = gab&aluno[i].resp;<br />
acum=0;<br />
for(j=0;j<7;j++)<br />
acum += ((bin1>>j)&1);<br />
aluno[i].nota = acum;<br />
med+=acum;<br />
}<br />
<br />
for(i=0;i<n;i++)<br />
{<br />
for(j=i+1;j<n;j++)<br />
{<br />
if(aluno[i].nota>aluno[j].nota)<br />
{<br />
troca=aluno[i];<br />
aluno[i]=aluno[j];<br />
aluno[j]=troca;<br />
}<br />
}<br />
}<br />
<br />
printf("\n%d", aluno[i].nota);<br />
for(j=i;j>=0;j--)<br />
if(aluno[i].nota==aluno[i].nota)<br />
printf("\t%s",aluno[j].nome);<br />
<br />
printf("\n%d", aluno[0].nota);<br />
for(j=0;j<n;j++)<br />
<br />
<br />
if(aluno[j].nota==aluno[0].nota)<br />
printf("\t%s",aluno[j].nome);<br />
<br />
return 0;<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_professor_de_terceiro_ano_(M%C3%A1rcio_Trindade)&diff=3052
Solução: Problema do professor de terceiro ano (Márcio Trindade)
2009-06-05T18:29:16Z
<p>200.17.147.2: New page: <code lang="c"> #include<stdio.h> int main(void) { struct student { char nome[41]; int resp; int nota; }; struct student aluno[100], troca; int i,j, gab, n, bin1, acum; flo...</p>
<hr />
<div><code lang="c"><br />
#include<stdio.h><br />
<br />
<br />
int main(void)<br />
{<br />
struct student<br />
{<br />
char nome[41];<br />
int resp;<br />
int nota;<br />
};<br />
<br />
struct student aluno[100], troca;<br />
int i,j, gab, n, bin1, acum;<br />
float med;<br />
<br />
scanf("%d",&gab);<br />
scanf("%d",&n);<br />
for(i=0;i<n;i++)<br />
{<br />
scanf("%s",aluno[i].nome);<br />
scanf("%d",&(aluno[i].resp);<br />
bin1 = gab&aluno[i].resp;<br />
acum=0;<br />
for(j=0;j<7;j++)<br />
acum += ((bin1>>j)&1);<br />
aluno[i].nota = acum;<br />
med+=acum<br />
}<br />
<br />
for(i==0;i<n;i++)<br />
{<br />
for(j=i+1;j<n;j++)<br />
{<br />
if(aluno[i].nota>aluno[j].nota)<br />
{<br />
troca=aluno[i];<br />
aluno[i]=aluno[j];<br />
aluno[j]=troca;<br />
}<br />
}<br />
}<br />
<br />
printf("%d\n", aluno[i].nota);<br />
for(j=i;j>=0;j--)<br />
if(aluno[i].nota==aluno[i].nota)<br />
printf("%s",aluno[j].nome);<br />
<br />
printf("%d\n", aluno[0].nota);<br />
for(j=0;j<n;j++)<br />
<br />
<br />
if(aluno[j].nota==aluno[0].nota)<br />
printf("%s",aluno[j].nome);<br />
<br />
return 0;<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_das_seq%C3%BC%C3%AAncias_alternadas_(Eduardo_Ramos)&diff=3045
Solução: Problema das seqüências alternadas (Eduardo Ramos)
2009-06-05T17:46:17Z
<p>200.17.147.2: New page: <code lang="c"> #include <stdio.h> #include <stdlib.h> int comparar(const void *a, const void *b) { return *(int *)a-*(int *)b; } int compararInverso(const void *a, const void *b) { ...</p>
<hr />
<div><code lang="c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int compararInverso(const void *a, const void *b)<br />
{<br />
return *(int *)b-*(int *)a;<br />
}<br />
<br />
int main(void) {<br />
<br />
int n,seq;<br />
scanf("%d",&n);<br />
<br />
while (n-- > 0) {<br />
scanf("%d",&seq);<br />
int i, v[seq];<br />
for(i=0;i<seq;i++)<br />
scanf("%d",v+i);<br />
<br />
if (n % 2 != 0) <br />
qsort(v,seq,sizeof(int),comparar);<br />
else<br />
qsort(v,seq,sizeof(int),compararInverso);<br />
<br />
for(i=0;i<seq;i++)<br />
printf("%d ",*(v+i));<br />
printf("\n");<br />
}<br />
<br />
return 0;<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_2_(Eduardo_Ramos)&diff=3043
Solução: Problema da moda - dificuldade 2 (Eduardo Ramos)
2009-06-05T17:41:56Z
<p>200.17.147.2: New page: <code lang="c"> #include <stdio.h> #include <stdlib.h> int main () { long int number,i=0,j,t,value,aux,moda,cont; long int *num=NULL; do { scanf("%ld",&number); // while (number ...</p>
<hr />
<div><code lang="c"><br />
<br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int main () {<br />
<br />
long int number,i=0,j,t,value,aux,moda,cont;<br />
long int *num=NULL;<br />
<br />
do {<br />
scanf("%ld",&number);<br />
// while (number < -2147483648 && number > 2147483647)<br />
// scanf("%ld",&number);<br />
++i;<br />
num=realloc(num,sizeof(int)*i);<br />
if (! num)<br />
exit(1);<br />
else<br />
num[i-1]=number;<br />
} while (number != 0);<br />
<br />
<br />
for (j=0; j<i-1 ; j++) {<br />
for (t=j; t<i-1; t++) {<br />
if (num[j] >= num[t]) {<br />
aux=num[t];<br />
num[t]=num[j];<br />
num[j]=aux;<br />
}<br />
}<br />
}<br />
<br />
<br />
value=num[0]; aux=0; moda=0; j=0;<br />
while (j <= i-1) {<br />
if (num[j] == value) {<br />
aux++;<br />
j++;<br />
}<br />
else {<br />
value=num[j];<br />
aux=0;<br />
}<br />
<br />
if (aux >= moda) moda=aux;<br />
}<br />
<br />
value=num[0]; cont=0; j=0;<br />
while (j < i-1) {<br />
if (value == num[j]) {<br />
t=j;<br />
j++;<br />
cont++;<br />
}<br />
else {<br />
value=num[j];<br />
cont=0;<br />
}<br />
<br />
if (cont == moda) printf("Moda: %ld\n",num[t]);<br />
}<br />
<br />
return 0;<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_quadrado_perfeito_(Rafael_Dourado)&diff=3041
Solução: Problema do quadrado perfeito (Rafael Dourado)
2009-06-05T17:18:11Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
#include <stdio.h> <br />
#include <math.h><br />
<br />
int main (void)<br />
{<br />
int entrada,i,k;<br />
int contador=0,resposta=0;<br />
int * numero = NULL;<br />
<br />
do {<br />
for (i=0;i<10;i++)<br />
{<br />
scanf ("%d", &entrada);<br />
if (entrada==0)<br />
break;<br />
contador++;<br />
numero = (int*) realloc (numero, contador * sizeof(int));<br />
k = sqrt(entrada);<br />
if (k*k == entrada)<br />
resposta++;<br />
}<br />
<br />
} while (entrada!=0);<br />
<br />
printf ("%d\n", resposta);<br />
free (numero);<br />
system ("pause");<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_simplifica%C3%A7%C3%A3o_das_fra%C3%A7%C3%B5es_(Bruno_Barbosa)&diff=3040
Solução: Problema da simplificação das frações (Bruno Barbosa)
2009-06-05T17:13:11Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
<br />
int main(){<br />
int n, m, i;<br />
scanf("%d %d", &n, &m);<br />
<br />
while(n || m){ <br />
<br />
if(!n || !m){<br />
printf("%d %d\n", n, m);<br />
}<br />
else{<br />
if(n==m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
<br />
if(n>m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
<br />
if(m>n){<br />
i= n;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
}<br />
scanf("%d %d", &n, &m);<br />
} <br />
}<br />
<br />
<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_simplifica%C3%A7%C3%A3o_das_fra%C3%A7%C3%B5es_(Bruno_Barbosa)&diff=3039
Solução: Problema da simplificação das frações (Bruno Barbosa)
2009-06-05T17:04:59Z
<p>200.17.147.2: Problema da simplificação das frações</p>
<hr />
<div><code lang = "c"><br />
<br />
#include <stdio.h><br />
<br />
int main(){<br />
int n, m, i;<br />
scanf("%d %d", &n, &m);<br />
<br />
while((n != 0) || (m != 0)){ <br />
<br />
if((n == 0) || (m == 0)){<br />
printf("%d %d\n", n, m);<br />
}<br />
else{<br />
if(n==m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
<br />
if(n>m){<br />
i = m;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
if(m>n){<br />
i= n;<br />
printf("%d %d\n", n/i, m/i);<br />
}<br />
}<br />
scanf("%d %d", &n, &m);<br />
} <br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_professor_de_terceiro_ano_(Tito_Gardel)&diff=3038
Solução: Problema do professor de terceiro ano (Tito Gardel)
2009-06-05T17:01:23Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
typedef struct Aluno{<br />
char nome[51];<br />
int resposta;<br />
int acertos;<br />
}Aluno;<br />
<br />
int certas(Aluno aluno, int g) {<br />
int i, cont=0, x;<br />
<br />
x = g & aluno.resposta;<br />
for(i=0; i<7;i++) {<br />
if (x & 1) <br />
cont++;<br />
x=x>>1; <br />
}<br />
return cont;<br />
}<br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).acertos - (*(Aluno *)b).acertos;<br />
}<br />
<br />
int comparar2(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).nome - (*(Aluno *)b).nome;<br />
}<br />
<br />
int main (void) {<br />
<br />
//INICIO DA ENTRADA<br />
int g, n, i, aux=0, qtacertos=0, me, ma;<br />
float media;<br />
<br />
scanf("%d", &g);<br />
scanf("%d", &n);<br />
<br />
Aluno aluno[n];<br />
<br />
for (i=0 ; i<n; i++) {<br />
scanf("%s", aluno[i].nome);<br />
scanf("%d" , &aluno[i].resposta);<br />
}<br />
//FIM DA ENTRADA<br />
<br />
for (i=0; i<n; i++) {<br />
aluno[i].acertos = certas(aluno[i],g); <br />
}<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar); <br />
me=aluno[0].acertos;<br />
ma=aluno[n-1].acertos;<br />
<br />
for(i=0;i<n;i++) <br />
qtacertos+=aluno[i].acertos;<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar2); <br />
<br />
printf("%d ", me);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==me) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
printf("\n%d ", ma);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==ma) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
<br />
media=(float)qtacertos/(float)n;<br />
printf("\n%.1f\n", media); <br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_professor_de_terceiro_ano_(Tito_Gardel)&diff=3037
Solução: Problema do professor de terceiro ano (Tito Gardel)
2009-06-05T16:59:05Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
typedef struct Aluno{<br />
char nome[51];<br />
int resposta;<br />
int acertos;<br />
}Aluno;<br />
<br />
int certas(Aluno aluno, int g) {<br />
int i, cont=0, x;<br />
<br />
x = g & aluno.resposta;<br />
for(i=0; i<7;i++) {<br />
if (x & 1) <br />
cont++;<br />
x=x>>1; <br />
}<br />
return cont;<br />
}<br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).acertos - (*(Aluno *)b).acertos;<br />
}<br />
<br />
int comparar2(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).nome - (*(Aluno *)b).nome;<br />
}<br />
<br />
int main (void) {<br />
<br />
//INICIO DA ENTRADA<br />
int g, n, i, aux=0, qtacertos=0, me, ma;<br />
float media;<br />
<br />
scanf("%d", &g);<br />
scanf("%d", &n);<br />
<br />
Aluno aluno[n];<br />
<br />
for (i=0 ; i<n; i++) {<br />
scanf("%s", aluno[i].nome);<br />
scanf("%d" , &aluno[i].resposta);<br />
}<br />
//FIM DA ENTRADA<br />
<br />
for (i=0; i<n; i++) {<br />
aluno[i].acertos = certas(aluno[i],g); //VERIFICA A QUANTIDADE DE ACERTOS DE CADA ALUNO<br />
}<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar); //ORDENA EM ORDEM CRESCENTE DE ACERTOS<br />
<br />
me=aluno[0].acertos;<br />
ma=aluno[n-1].acertos;<br />
<br />
for(i=0;i<n;i++) <br />
qtacertos+=aluno[i].acertos;<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar2); //ORDENA EM ORDEM ALFABETICA<br />
<br />
printf("%d ", me);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==me) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
printf("\n%d ", ma);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==ma) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
<br />
media=(float)qtacertos/(float)n;<br />
printf("\n%.1f\n", media); <br />
//system("pause");<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_4_(L%C3%BAcio_Ribeiro)&diff=3036
Solução: Problema da moda - dificuldade 4 (Lúcio Ribeiro)
2009-06-05T16:40:33Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
<br />
do /*ler e alocar*/<br />
{<br />
scanf("%d",&k);<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
{ puts(":P\n"); exit(1);}<br />
scanf("%s",palavra);<br />
if(strcmp(palavra,"0")==0)<br />
break;<br />
else<br />
{<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
{ puts(":P\n"); exit(1);}<br />
for(i=0;i<(k+1);i++)<br />
*(*(vet+linha-1)+i) = palavra[i];<br />
}<br />
}while(1);<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
for(i=0;i<linha;i++) /*ordenar*/<br />
{<br />
for(j=i+1;j<linha;j++)<br />
{<br />
if(strcmp(*(vet+i),*(vet+j))>0)<br />
{<br />
palavra = (char *) realloc(palavra, sizeof(char)*(strlen(*(vet+i))+1));<br />
strcpy(palavra, *(vet+i));<br />
*(vet+i) = (char*) realloc(*(vet+i),sizeof(char)*(strlen(*(vet+j))+1));<br />
strcpy(*(vet+i), *(vet+j));<br />
*(vet+j) = (char*) realloc(*(vet+j),sizeof(char)*(strlen(palavra)+1));<br />
strcpy(*(vet+j), palavra);<br />
}<br />
}<br />
}<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*j eh parcial*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
free(vet);<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_moda_-_dificuldade_4_(L%C3%BAcio_Ribeiro)&diff=3035
Solução: Problema da moda - dificuldade 4 (Lúcio Ribeiro)
2009-06-05T16:39:18Z
<p>200.17.147.2: New page: // Lúcio Ribeiro #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char **vet=NULL; char *palavra=NULL; int k,linha=0,moda=1,cont=1, i,j; do /*ler e alocar*/...</p>
<hr />
<div>// Lúcio Ribeiro<br />
#include <stdio.h><br />
#include <stdlib.h><br />
#include <string.h><br />
<br />
<br />
int main()<br />
{<br />
char **vet=NULL;<br />
char *palavra=NULL;<br />
int k,linha=0,moda=1,cont=1, i,j;<br />
<br />
do /*ler e alocar*/<br />
{<br />
scanf("%d",&k);<br />
palavra = (char *) realloc(palavra, sizeof(char)*(k+1));<br />
if(palavra==NULL)<br />
{ puts(":P\n"); exit(1);}<br />
scanf("%s",palavra);<br />
if(strcmp(palavra,"0")==0)<br />
break;<br />
else<br />
{<br />
linha++;<br />
vet = (char **) realloc(vet, sizeof(char*)*linha);<br />
*(vet+linha-1) = (char*) malloc(sizeof(char)*(k+1));<br />
if(vet==NULL||*(vet+linha-1)==NULL)<br />
{ puts(":P\n"); exit(1);}<br />
for(i=0;i<(k+1);i++)<br />
*(*(vet+linha-1)+i) = palavra[i];<br />
}<br />
}while(1);<br />
<br />
if(linha==1)/*importantissimo*/<br />
{<br />
printf("%s",*vet);<br />
return 0;<br />
}<br />
<br />
for(i=0;i<linha;i++) /*ordenar*/<br />
{<br />
for(j=i+1;j<linha;j++)<br />
{<br />
if(strcmp(*(vet+i),*(vet+j))>0)<br />
{<br />
palavra = (char *) realloc(palavra, sizeof(char)*(strlen(*(vet+i))+1));<br />
strcpy(palavra, *(vet+i));<br />
*(vet+i) = (char*) realloc(*(vet+i),sizeof(char)*(strlen(*(vet+j))+1));<br />
strcpy(*(vet+i), *(vet+j));<br />
*(vet+j) = (char*) realloc(*(vet+j),sizeof(char)*(strlen(palavra)+1));<br />
strcpy(*(vet+j), palavra);<br />
}<br />
}<br />
}<br />
<br />
j=1;<br />
for(i=1;i<linha;i++)/*j eh parcial*/<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
j++;<br />
else j=1;<br />
if(j>moda)<br />
moda=j;<br />
}<br />
<br />
for(i=1;i<linha;i++)<br />
{<br />
if(!strcmp(*(vet+i),*(vet+i-1)))<br />
cont++;<br />
else<br />
cont=1;<br />
if(cont==moda)<br />
printf("%s\n",*(vet+i));<br />
}<br />
free(vet);<br />
return 0;<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_quadrado_perfeito_(Rafael_Dourado)&diff=3034
Solução: Problema do quadrado perfeito (Rafael Dourado)
2009-06-05T16:38:37Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="c"><br />
#include <stdio.h> <br />
#include <math.h><br />
<br />
int main (void)<br />
{<br />
int entrada,i,k;<br />
int contador=0,resposta=0;<br />
int * numero = NULL;<br />
<br />
do {<br />
for (i=0;i<10;i++)<br />
{<br />
scanf ("%d", &entrada);<br />
if (entrada==0)<br />
break;<br />
contador++;<br />
numero = (int*) realloc (numero, contador * sizeof(int));<br />
k = sqrt(entrada);<br />
if (k*k == entrada)<br />
resposta++;<br />
}<br />
if (entrada==0)<br />
break;<br />
<br />
} while (entrada!=0);<br />
<br />
printf ("%d\n", resposta);<br />
free (numero);<br />
system ("pause");<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_quadrado_perfeito_(Rafael_Dourado)&diff=3032
Solução: Problema do quadrado perfeito (Rafael Dourado)
2009-06-05T16:32:59Z
<p>200.17.147.2: New page: #include <stdio.h> #include <math.h> int main (void) { int entrada,i,k; int contador=0,resposta=0; int * numero = NULL; do { for (i=0;i<10;i++) { ...</p>
<hr />
<div>#include <stdio.h> <br />
#include <math.h><br />
<br />
int main (void)<br />
{<br />
int entrada,i,k;<br />
int contador=0,resposta=0;<br />
int * numero = NULL;<br />
<br />
do {<br />
for (i=0;i<10;i++)<br />
{<br />
scanf ("%d", &entrada);<br />
if (entrada==0)<br />
break;<br />
contador++;<br />
numero = (int*) realloc (numero, contador * sizeof(int));<br />
k = sqrt(entrada);<br />
if (k*k == entrada)<br />
resposta++;<br />
}<br />
if (entrada==0)<br />
break;<br />
<br />
} while (entrada!=0);<br />
<br />
printf ("%d\n", resposta);<br />
free (numero);<br />
system ("pause");<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(Adriano_Queiroz)&diff=3029
Solução: Problema do baile de casais (Adriano Queiroz)
2009-06-05T16:27:43Z
<p>200.17.147.2: </p>
<hr />
<div><code lang = "c"><br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b){<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int main(void){<br />
int convidados, qtdHomens=0, qtdMulheres=0, *homens, *mulheres;<br />
int i, j=0, l=0, idade;<br />
<br />
scanf("%d", &convidados);<br />
homens = (int*) malloc(convidados*sizeof(int));<br />
mulheres = (int*) malloc(convidados*sizeof(int));<br />
<br />
for (i=0; i<convidados; i++){<br />
scanf("%d", &idade);<br />
if (idade%2)<br />
homens[qtdHomens++]=idade;<br />
else<br />
mulheres[qtdMulheres++]=idade;<br />
}<br />
<br />
if (!(qtdHomens)){<br />
if (qtdMulheres)<br />
printf("F");<br />
else<br />
printf("S");<br />
}<br />
else if (!(qtdMulheres))<br />
printf("S");<br />
<br />
else {<br />
qsort(mulheres,qtdMulheres ,sizeof(int), comparar);<br />
qsort(homens,qtdHomens ,sizeof(int), comparar);<br />
do{<br />
if (mulheres[j] < homens[l++])<br />
j++;<br />
}while(j<qtdMulheres && l<qtdHomens);<br />
if (j==qtdMulheres)<br />
printf("S");<br />
else<br />
printf("F");<br />
}<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(Adriano_Queiroz)&diff=3028
Solução: Problema do baile de casais (Adriano Queiroz)
2009-06-05T16:26:39Z
<p>200.17.147.2: New page: <code lang = "c"> #include <stdio.h> #include <stdlib.h> int comparar(const void *a, const void *b){ return *(int *)a-*(int *)b; } int main(void){ int convidados, qtdHomens=0, qtdMu...</p>
<hr />
<div><code lang = "c"><br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
int comparar(const void *a, const void *b){<br />
return *(int *)a-*(int *)b;<br />
}<br />
<br />
int main(void){<br />
int convidados, qtdHomens=0, qtdMulheres=0, *homens, *mulheres;<br />
int i, j=0, l=0, idade;<br />
<br />
scanf("%d", &convidados);<br />
homens = (int*) malloc(convidados*sizeof(int));<br />
mulheres = (int*) malloc(convidados*sizeof(int));<br />
<br />
for (i=0; i<convidados; i++){<br />
scanf("%d", &idade);<br />
if (idade%2)<br />
homens[qtdHomens++]=idade;<br />
else<br />
mulheres[qtdMulheres++]=idade;<br />
}<br />
<br />
if (!(qtdHomens)){<br />
if (qtdMulheres)<br />
printf("F");<br />
else<br />
printf("S");<br />
}<br />
else if (!(qtdMulheres))<br />
printf("S");<br />
<br />
else {<br />
qsort(mulheres,qtdMulheres ,sizeof(int), comparar);<br />
qsort(homens,qtdHomens ,sizeof(int), comparar);<br />
do{<br />
if (mulheres[j] < homens[l++])<br />
j++;<br />
}while(j<qtdMulheres && l<qtdHomens);<br />
if (j==qtdMulheres)<br />
printf("S");<br />
else<br />
printf("F");<br />
}<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_professor_de_terceiro_ano_(Tito_Gardel)&diff=3027
Solução: Problema do professor de terceiro ano (Tito Gardel)
2009-06-05T16:23:26Z
<p>200.17.147.2: New page: <code lang="c"> #include <stdio.h> #include <stdlib.h> typedef struct Aluno{ char nome[50]; int resposta, acertos; }Aluno; int certas(Aluno aluno, int g) { int i, cont=0, x; x = g ...</p>
<hr />
<div><code lang="c"><br />
#include <stdio.h><br />
#include <stdlib.h><br />
<br />
typedef struct Aluno{<br />
char nome[50];<br />
int resposta, acertos;<br />
}Aluno;<br />
<br />
int certas(Aluno aluno, int g) {<br />
int i, cont=0, x;<br />
<br />
x = g & aluno.resposta;<br />
for(i=0; i<7;i++) {<br />
if (x & 1) <br />
cont++;<br />
x=x>>1; <br />
}<br />
return cont;<br />
}<br />
<br />
int comparar(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).acertos - (*(Aluno *)b).acertos;<br />
}<br />
<br />
int comparar2(const void *a, const void *b)<br />
{<br />
return (*(Aluno *)a).nome - (*(Aluno *)b).nome;<br />
}<br />
<br />
int main (void) {<br />
<br />
//INICIO DA ENTRADA<br />
int g, n, i, aux=0, qtacertos=0, me, ma;<br />
float media;<br />
<br />
scanf("%d", &g);<br />
scanf("%d", &n);<br />
<br />
Aluno aluno[n];<br />
<br />
for (i=0 ; i<n; i++) {<br />
scanf("%s", aluno[i].nome);<br />
scanf("%d" , &aluno[i].resposta);<br />
}<br />
//FIM DA ENTRADA<br />
<br />
for (i=0; i<n; i++) {<br />
aluno[i].acertos = certas(aluno[i],g); //VERIFICA A QUANTIDADE DE ACERTOS DE CADA ALUNO<br />
}<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar); //ORDENA EM ORDEM CRESCENTE DE ACERTOS<br />
<br />
me=aluno[0].acertos;<br />
ma=aluno[n-1].acertos;<br />
<br />
for(i=0;i<n;i++) <br />
qtacertos+=aluno[i].acertos;<br />
<br />
qsort(aluno,n,sizeof(Aluno),comparar2); //ORDENA EM ORDEM ALFABETICA<br />
<br />
printf("%d ", me);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==me) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
printf("\n%d ", ma);<br />
for (i=0; i<n; i++) {<br />
if (aluno[i].acertos==ma) {<br />
printf("%s ", aluno[i].nome);<br />
aux++;<br />
}<br />
}<br />
<br />
media=(float)qtacertos/(float)n;<br />
printf("\n%.1f\n", media); <br />
//system("pause");<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_mem%C3%B3ria_transacional_(Diogo_Maron)&diff=3009
Solução: Problema da memória transacional (Diogo Maron)
2009-06-03T13:33:09Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="java"><br />
package console;<br />
<br />
import java.util.Scanner;<br />
import memoriatransacional.MemoriaTransacional;<br />
<br />
public class Main {<br />
<br />
/**<br />
* @param args the command line arguments<br />
*/<br />
public static void main(String[] args) {<br />
// TODO code application logic here<br />
Scanner loScanner = new Scanner(System.in);<br />
String lsEntrada = loScanner.nextLine();<br />
MemoriaTransacional loMemoria = new MemoriaTransacional();<br />
String[] loSaida = loMemoria.ExecutarEscrita(lsEntrada.split(" "));<br />
for (int i = 0; i < loSaida.length; i++){<br />
String lsLetra = new String();<br />
lsLetra +=(char)((int)'A' + i);<br />
System.out.println(lsLetra + "=" + loSaida[i]);<br />
}<br />
}<br />
<br />
}<br />
<br />
package memoriatransacional;<br />
<br />
public class MemoriaTransacional {<br />
<br />
private int TAMANHO_MEMORIA = 26;<br />
<br />
private String[] ioMemoria = new String[TAMANHO_MEMORIA];<br />
private Transaction ioTransaction;<br />
<br />
public MemoriaTransacional() {<br />
this.Reset();<br />
}<br />
public String[] ExecutarEscrita(String[] aoEscritas){<br />
for (int i = 0; i<aoEscritas.length; i++){<br />
if (aoEscritas[i].contains("="))<br />
this.ExecutarEscrita(aoEscritas[i]);<br />
else {<br />
this.ExecutarTransaction(aoEscritas[i]);<br />
}<br />
}<br />
return ioMemoria;<br />
}<br />
<br />
public void ExecutarEscrita(String asEscrita){<br />
if (this.IsInTransaction())<br />
this.ioTransaction.AddEscrita((asEscrita));<br />
else<br />
this.Escrever(asEscrita);<br />
}<br />
<br />
private void Escrever(String asEscrita){<br />
String[] loValores = asEscrita.split("=");<br />
int liPosicao = (int)loValores[0].charAt(0) - (int)'A';<br />
this.ioMemoria[liPosicao] = loValores[1];<br />
}<br />
<br />
private void ExecutarTransaction(String asComando){<br />
if (asComando.equals("B"))<br />
this.BeginTransaction();<br />
else if (asComando.equals("C"))<br />
this.CommitTransaction();<br />
else if (asComando.equals("R"))<br />
this.RollBackTransaction();<br />
}<br />
<br />
private void BeginTransaction() {<br />
if (this.IsInTransaction()){<br />
this.ioTransaction.Begin();<br />
}<br />
else<br />
this.ioTransaction = new Transaction();<br />
}<br />
<br />
private void CommitTransaction(){<br />
if (this.ioTransaction.Commit()) {<br />
for (String loString : this.ioTransaction.GetEscritas())<br />
this.Escrever(loString);<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private void RollBackTransaction(){<br />
if (this.ioTransaction.RollBack()) {<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private Boolean IsInTransaction(){<br />
return (this.ioTransaction != null);<br />
}<br />
<br />
public void Reset(){<br />
for (int i =0; i < TAMANHO_MEMORIA; i++)<br />
this.ioMemoria[i] = "";<br />
}<br />
<br />
}<br />
<br />
<br />
package memoriatransacional;<br />
<br />
import java.util.ArrayList;<br />
<br />
public class Transaction {<br />
private ArrayList<String> ioEscritas = new ArrayList<String>();<br />
private Transaction ioInner;<br />
private Boolean ibOpen = true;<br />
<br />
public void AddEscrita(String asEscrita){<br />
if (this.HasInner())<br />
this.ioInner.AddEscrita(asEscrita);<br />
else<br />
this.ioEscritas.add(asEscrita);<br />
}<br />
<br />
public ArrayList<String> GetEscritas(){<br />
return this.ioEscritas;<br />
}<br />
<br />
private Boolean HasInner(){<br />
return (this.ioInner != null);<br />
}<br />
<br />
public void Begin(){<br />
if (this.HasInner()) {<br />
this.ioInner.Begin();<br />
}<br />
else {<br />
this.ioInner = new Transaction();<br />
}<br />
}<br />
<br />
public Boolean Commit(){<br />
if (this.HasInner()){<br />
if (this.ioInner.Commit()){<br />
ArrayList<String> loEscritasInner = this.ioInner.GetEscritas();<br />
this.ioInner = null;<br />
for (String lsEscrita : loEscritasInner)<br />
this.AddEscrita(lsEscrita);<br />
}<br />
}<br />
else {<br />
this.ibOpen = false;<br />
}<br />
return !this.ibOpen;<br />
}<br />
<br />
public Boolean RollBack() {<br />
if (!this.HasInner()) {<br />
this.ibOpen = false;<br />
}<br />
else {<br />
if (this.ioInner.RollBack())<br />
this.ioInner = null;<br />
}<br />
return !this.ibOpen;<br />
}<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_mem%C3%B3ria_transacional_(Diogo_Maron)&diff=3008
Solução: Problema da memória transacional (Diogo Maron)
2009-06-03T13:32:11Z
<p>200.17.147.2: </p>
<hr />
<div>package console;<br />
<br />
import java.util.Scanner;<br />
import memoriatransacional.MemoriaTransacional;<br />
<br />
public class Main {<br />
<br />
/**<br />
* @param args the command line arguments<br />
*/<br />
public static void main(String[] args) {<br />
// TODO code application logic here<br />
Scanner loScanner = new Scanner(System.in);<br />
String lsEntrada = loScanner.nextLine();<br />
MemoriaTransacional loMemoria = new MemoriaTransacional();<br />
String[] loSaida = loMemoria.ExecutarEscrita(lsEntrada.split(" "));<br />
for (int i = 0; i < loSaida.length; i++){<br />
String lsLetra = new String();<br />
lsLetra +=(char)((int)'A' + i);<br />
System.out.println(lsLetra + "=" + loSaida[i]);<br />
}<br />
}<br />
<br />
}<br />
<br />
<br />
package memoriatransacional;<br />
<br />
public class MemoriaTransacional {<br />
<br />
private int TAMANHO_MEMORIA = 26;<br />
<br />
private String[] ioMemoria = new String[TAMANHO_MEMORIA];<br />
private Transaction ioTransaction;<br />
<br />
public MemoriaTransacional() {<br />
this.Reset();<br />
}<br />
public String[] ExecutarEscrita(String[] aoEscritas){<br />
for (int i = 0; i<aoEscritas.length; i++){<br />
if (aoEscritas[i].contains("="))<br />
this.ExecutarEscrita(aoEscritas[i]);<br />
else {<br />
this.ExecutarTransaction(aoEscritas[i]);<br />
}<br />
}<br />
return ioMemoria;<br />
}<br />
<br />
public void ExecutarEscrita(String asEscrita){<br />
if (this.IsInTransaction())<br />
this.ioTransaction.AddEscrita((asEscrita));<br />
else<br />
this.Escrever(asEscrita);<br />
}<br />
<br />
private void Escrever(String asEscrita){<br />
String[] loValores = asEscrita.split("=");<br />
int liPosicao = (int)loValores[0].charAt(0) - (int)'A';<br />
this.ioMemoria[liPosicao] = loValores[1];<br />
}<br />
<br />
private void ExecutarTransaction(String asComando){<br />
if (asComando.equals("B"))<br />
this.BeginTransaction();<br />
else if (asComando.equals("C"))<br />
this.CommitTransaction();<br />
else if (asComando.equals("R"))<br />
this.RollBackTransaction();<br />
}<br />
<br />
private void BeginTransaction() {<br />
if (this.IsInTransaction()){<br />
this.ioTransaction.Begin();<br />
}<br />
else<br />
this.ioTransaction = new Transaction();<br />
}<br />
<br />
private void CommitTransaction(){<br />
if (this.ioTransaction.Commit()) {<br />
for (String loString : this.ioTransaction.GetEscritas())<br />
this.Escrever(loString);<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private void RollBackTransaction(){<br />
if (this.ioTransaction.RollBack()) {<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private Boolean IsInTransaction(){<br />
return (this.ioTransaction != null);<br />
}<br />
<br />
public void Reset(){<br />
for (int i =0; i < TAMANHO_MEMORIA; i++)<br />
this.ioMemoria[i] = "";<br />
}<br />
<br />
}<br />
<br />
<br />
package memoriatransacional;<br />
<br />
import java.util.ArrayList;<br />
<br />
public class Transaction {<br />
private ArrayList<String> ioEscritas = new ArrayList<String>();<br />
private Transaction ioInner;<br />
private Boolean ibOpen = true;<br />
<br />
public void AddEscrita(String asEscrita){<br />
if (this.HasInner())<br />
this.ioInner.AddEscrita(asEscrita);<br />
else<br />
this.ioEscritas.add(asEscrita);<br />
}<br />
<br />
public ArrayList<String> GetEscritas(){<br />
return this.ioEscritas;<br />
}<br />
<br />
private Boolean HasInner(){<br />
return (this.ioInner != null);<br />
}<br />
<br />
public void Begin(){<br />
if (this.HasInner()) {<br />
this.ioInner.Begin();<br />
}<br />
else {<br />
this.ioInner = new Transaction();<br />
}<br />
}<br />
<br />
public Boolean Commit(){<br />
if (this.HasInner()){<br />
if (this.ioInner.Commit()){<br />
ArrayList<String> loEscritasInner = this.ioInner.GetEscritas();<br />
this.ioInner = null;<br />
for (String lsEscrita : loEscritasInner)<br />
this.AddEscrita(lsEscrita);<br />
}<br />
}<br />
else {<br />
this.ibOpen = false;<br />
}<br />
return !this.ibOpen;<br />
}<br />
<br />
public Boolean RollBack() {<br />
if (!this.HasInner()) {<br />
this.ibOpen = false;<br />
}<br />
else {<br />
if (this.ioInner.RollBack())<br />
this.ioInner = null;<br />
}<br />
return !this.ibOpen;<br />
}<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_mem%C3%B3ria_transacional_(Diogo_Maron)&diff=3007
Solução: Problema da memória transacional (Diogo Maron)
2009-06-03T13:31:22Z
<p>200.17.147.2: New page: <code land="java"> /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package console; import java.util.Scanner; import memoriatransacio...</p>
<hr />
<div><code land="java"><br />
<br />
/*<br />
* To change this template, choose Tools | Templates<br />
* and open the template in the editor.<br />
*/<br />
<br />
package console;<br />
<br />
import java.util.Scanner;<br />
import memoriatransacional.MemoriaTransacional;<br />
<br />
/**<br />
*<br />
* @author dmaron<br />
*/<br />
public class Main {<br />
<br />
/**<br />
* @param args the command line arguments<br />
*/<br />
public static void main(String[] args) {<br />
// TODO code application logic here<br />
Scanner loScanner = new Scanner(System.in);<br />
String lsEntrada = loScanner.nextLine();<br />
MemoriaTransacional loMemoria = new MemoriaTransacional();<br />
String[] loSaida = loMemoria.ExecutarEscrita(lsEntrada.split(" "));<br />
for (int i = 0; i < loSaida.length; i++){<br />
String lsLetra = new String();<br />
lsLetra +=(char)((int)'A' + i);<br />
System.out.println(lsLetra + "=" + loSaida[i]);<br />
}<br />
}<br />
<br />
}<br />
<br />
<br />
/*<br />
* To change this template, choose Tools | Templates<br />
* and open the template in the editor.<br />
*/<br />
<br />
package memoriatransacional;<br />
<br />
/**<br />
*<br />
* @author dmaron<br />
*/<br />
public class MemoriaTransacional {<br />
<br />
private int TAMANHO_MEMORIA = 26;<br />
<br />
private String[] ioMemoria = new String[TAMANHO_MEMORIA];<br />
private Transaction ioTransaction;<br />
<br />
public MemoriaTransacional() {<br />
this.Reset();<br />
}<br />
public String[] ExecutarEscrita(String[] aoEscritas){<br />
for (int i = 0; i<aoEscritas.length; i++){<br />
if (aoEscritas[i].contains("="))<br />
this.ExecutarEscrita(aoEscritas[i]);<br />
else {<br />
this.ExecutarTransaction(aoEscritas[i]);<br />
}<br />
}<br />
return ioMemoria;<br />
}<br />
<br />
public void ExecutarEscrita(String asEscrita){<br />
if (this.IsInTransaction())<br />
this.ioTransaction.AddEscrita((asEscrita));<br />
else<br />
this.Escrever(asEscrita);<br />
}<br />
<br />
private void Escrever(String asEscrita){<br />
String[] loValores = asEscrita.split("=");<br />
int liPosicao = (int)loValores[0].charAt(0) - (int)'A';<br />
this.ioMemoria[liPosicao] = loValores[1];<br />
}<br />
<br />
private void ExecutarTransaction(String asComando){<br />
if (asComando.equals("B"))<br />
this.BeginTransaction();<br />
else if (asComando.equals("C"))<br />
this.CommitTransaction();<br />
else if (asComando.equals("R"))<br />
this.RollBackTransaction();<br />
}<br />
<br />
private void BeginTransaction() {<br />
if (this.IsInTransaction()){<br />
this.ioTransaction.Begin();<br />
}<br />
else<br />
this.ioTransaction = new Transaction();<br />
}<br />
<br />
private void CommitTransaction(){<br />
if (this.ioTransaction.Commit()) {<br />
for (String loString : this.ioTransaction.GetEscritas())<br />
this.Escrever(loString);<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private void RollBackTransaction(){<br />
if (this.ioTransaction.RollBack()) {<br />
this.ioTransaction=null;<br />
}<br />
}<br />
<br />
private Boolean IsInTransaction(){<br />
return (this.ioTransaction != null);<br />
}<br />
<br />
public void Reset(){<br />
for (int i =0; i < TAMANHO_MEMORIA; i++)<br />
this.ioMemoria[i] = "";<br />
}<br />
<br />
}<br />
<br />
<br />
/*<br />
* To change this template, choose Tools | Templates<br />
* and open the template in the editor.<br />
*/<br />
<br />
package memoriatransacional;<br />
<br />
import java.util.ArrayList;<br />
<br />
/**<br />
*<br />
* @author dmaron<br />
*/<br />
public class Transaction {<br />
private ArrayList<String> ioEscritas = new ArrayList<String>();<br />
private Transaction ioInner;<br />
private Boolean ibOpen = true;<br />
<br />
public void AddEscrita(String asEscrita){<br />
if (this.HasInner())<br />
this.ioInner.AddEscrita(asEscrita);<br />
else<br />
this.ioEscritas.add(asEscrita);<br />
}<br />
<br />
public ArrayList<String> GetEscritas(){<br />
return this.ioEscritas;<br />
}<br />
<br />
private Boolean HasInner(){<br />
return (this.ioInner != null);<br />
}<br />
<br />
public void Begin(){<br />
if (this.HasInner()) {<br />
this.ioInner.Begin();<br />
}<br />
else {<br />
this.ioInner = new Transaction();<br />
}<br />
}<br />
<br />
public Boolean Commit(){<br />
if (this.HasInner()){<br />
if (this.ioInner.Commit()){<br />
ArrayList<String> loEscritasInner = this.ioInner.GetEscritas();<br />
this.ioInner = null;<br />
for (String lsEscrita : loEscritasInner)<br />
this.AddEscrita(lsEscrita);<br />
}<br />
}<br />
else {<br />
this.ibOpen = false;<br />
}<br />
return !this.ibOpen;<br />
}<br />
<br />
public Boolean RollBack() {<br />
if (!this.HasInner()) {<br />
this.ibOpen = false;<br />
}<br />
else {<br />
if (this.ioInner.RollBack())<br />
this.ioInner = null;<br />
}<br />
return !this.ibOpen;<br />
}<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Domin%C3%B3_-_OBI_(Filipe_Teles)&diff=3005
Solução: Dominó - OBI (Filipe Teles)
2009-06-03T12:43:21Z
<p>200.17.147.2: New page: <code lang=cpp> #include <iostream> using namespace std; typedef struct P { int n; int bucha; } peca; int main() { int entrada, esq, dir, teste = 1, cont = 0, i; peca mesa[7]; fo...</p>
<hr />
<div><code lang=cpp><br />
<br />
#include <iostream><br />
<br />
using namespace std;<br />
<br />
typedef struct P<br />
{<br />
int n;<br />
int bucha;<br />
} peca;<br />
<br />
int main()<br />
{<br />
int entrada, esq, dir, teste = 1, cont = 0, i;<br />
peca mesa[7];<br />
<br />
for (int j = 0; j < 7; j++)<br />
{<br />
mesa[j].n = 0;<br />
mesa[j].bucha = 0;<br />
}<br />
<br />
cin >> entrada;<br />
<br />
while (entrada)<br />
{<br />
while(entrada--)<br />
{<br />
cin >> esq >> dir;<br />
<br />
if ( (esq == dir) && (!mesa[esq].n) )<br />
{<br />
mesa[esq].n = 2;<br />
mesa[esq].bucha++;<br />
}<br />
else<br />
{<br />
mesa[esq].n++;<br />
mesa[esq].bucha = 0;<br />
mesa[dir].n++;<br />
mesa[dir].bucha = 0;<br />
} <br />
}<br />
<br />
i = 0;<br />
for (; i < 7; i++)<br />
{<br />
if (mesa[i].n % 2)<br />
cont++; <br />
<br />
if ( (mesa[i].bucha) || (cont > 2) )<br />
{<br />
cout << "Teste " << teste << endl << "nao\n\n";<br />
break;<br />
}<br />
}<br />
<br />
if (i == 7)<br />
cout << "Teste " << teste << endl << "sim\n\n";<br />
<br />
teste++;<br />
<br />
for (int j = 0; j < 7; j++)<br />
{<br />
mesa[j].n = 0;<br />
mesa[j].bucha = 0;<br />
}<br />
<br />
cont = 0;<br />
cin >> entrada;<br />
}<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_das_trocas_-_UFRJ_(Filipe_Teles)&diff=3004
Solução: Problema das trocas - UFRJ (Filipe Teles)
2009-06-03T12:37:59Z
<p>200.17.147.2: New page: <code lang="cpp"> #include <iostream> using namespace std; typedef struct Circulo { int valor; char pessoa; } circulo; int errado(circulo vetor[], int tamanho) { for (int i = 1; i ...</p>
<hr />
<div><code lang="cpp"><br />
<br />
#include <iostream><br />
<br />
using namespace std;<br />
<br />
typedef struct Circulo<br />
{<br />
int valor;<br />
char pessoa;<br />
} circulo;<br />
<br />
int errado(circulo vetor[], int tamanho)<br />
{ <br />
for (int i = 1; i < tamanho; i++)<br />
if (vetor[i-1].pessoa > vetor[i].pessoa)<br />
return 1;<br />
<br />
return 0;<br />
}<br />
<br />
int main()<br />
{<br />
int tamanho, entrada, j, cont;<br />
char insere, guarda;<br />
<br />
cin >> tamanho;<br />
while (tamanho)<br />
{<br />
<br />
circulo vetor[tamanho];<br />
<br />
for (int i = 0; i < tamanho; i++)<br />
{<br />
cin >> entrada; <br />
vetor[i].valor = entrada;<br />
vetor[i].pessoa = 'A' + i;<br />
}<br />
<br />
cont = 0;<br />
<br />
j = 0;<br />
insere = 'A';<br />
<br />
do<br />
{ <br />
guarda = vetor[vetor[j].valor - 1].pessoa;<br />
<br />
for (int i = 0; i < tamanho; i++)<br />
{<br />
vetor[vetor[j].valor - 1].pessoa = insere;<br />
j = vetor[j].valor - 1;<br />
insere = guarda;<br />
guarda = vetor[vetor[j].valor - 1].pessoa;<br />
}<br />
<br />
cont++;<br />
<br />
} while (errado(vetor, tamanho));<br />
<br />
cout << cont << endl;<br />
<br />
cin >> tamanho;<br />
}<br />
}<br />
<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Mini-apresenta%C3%A7%C3%A3o_de_competi%C3%A7%C3%A3o_em_dupla&diff=2978
Mini-apresentação de competição em dupla
2009-05-27T23:35:51Z
<p>200.17.147.2: /* Duplas/Site/Competição */</p>
<hr />
<div>== Tarefa ==<br />
Escolher e apresentar uma competição ou site de competição.<br />
<br />
A apresentação deve ter duração máxima de 15 minutos e conter:<br />
#Descrição das regras do site/competição.<br />
#Descrição dos prémios distribuídos.<br />
#Lista dos patrocinadores/empresas "olheiras".<br />
#No mínimo um problema do site/competição resolvido e analisado pela dupla.<br />
<br />
As apresentações devem ocorrer entre os dias 06/05/2009 e 10/06/2009.<br />
<br />
As duplas devem editar a seção abaixo e postar as informações conforme o exemplo a seguir.<br />
;Dupla<br />
:Fulano da Silva<br />
:Fulaninho Souza.<br />
;Site/Competição<br />
:Aquela superimportante.<br />
;Data<br />
:XX/XX/2009.<br />
<br />
== Duplas/Site/Competição ==<br />
<br />
;Dupla<br />
:Jandson Santos Nunes <br />
:Paulo Cesar de Alencar Gonçalves Filho <br />
;Site/Competição<br />
:http://olimpiada.ic.unicamp.br/ <br />
;Data<br />
:13/05/2009.<br />
<br />
;Dupla<br />
:Antonio Lucas<br />
:Cátia Nascimento<br />
;Site/Competição<br />
:http://maratona.ime.usp.br/<br />
;Data<br />
:20/05/2009.<br />
<br />
;Dupla<br />
:Fernando Nunes de Almeida<br />
:Luís Bernardo<br />
;Site/Competição<br />
:http://code.google.com/intl/pt-BR/codejam/<br />
;Data<br />
:27/05/2009.<br />
<br />
;Dupla<br />
:Vanessa Aline<br />
:Delson Rosário<br />
;Site/Competição<br />
:Aquela superimportante. <br />
;Data<br />
:03/06/2009.<br />
<br />
;Dupla<br />
:Filipe Teles<br />
:Marco Antonio<br />
;Site/Competição<br />
:http://www.dcc.fc.up.pt/oni/2007/index.cgi?page=home<br />
;Data<br />
:10/06/2009.</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Marco_Antonio)&diff=2938
Solução: Problema da palavra mágica (Marco Antonio)
2009-05-20T14:44:34Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="cpp"><br />
#include <algorithm><br />
#include <iostream><br />
#include <string><br />
<br />
using namespace std;<br />
<br />
int main()<br />
{<br />
string entry, word;<br />
<br />
cin >> entry;<br />
if (entry.length() % 2 == 0)<br />
{<br />
word = entry.substr(0, (entry.length()/2));<br />
entry = entry.substr(entry.length()/2, entry.length());<br />
sort(word.begin(),word.end());<br />
if (!(entry.compare(word)))<br />
{<br />
cout << "S" << endl;<br />
return 1;<br />
}<br />
}<br />
cout << 'N' << endl;<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Marco_Antonio)&diff=2937
Solução: Problema da palavra mágica (Marco Antonio)
2009-05-20T14:41:21Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="cpp"><br />
#include <iostream><br />
#include <string><br />
#include <algorithm><br />
<br />
using namespace std;<br />
<br />
bool compare(char chara, char charb)<br />
{<br />
return (chara < charb);<br />
}<br />
<br />
int main()<br />
{<br />
string entry, word;<br />
<br />
cin >> entry;<br />
if (entry.length() % 2 == 0)<br />
{<br />
word = entry.substr(0, (entry.length()/2));<br />
entry = entry.substr(entry.length()/2, entry.length());<br />
sort(word.begin(),word.end(),compare);<br />
if (!(entry.compare(word)))<br />
{<br />
cout << "S" << endl;<br />
return 1;<br />
}<br />
}<br />
cout << 'N' << endl;<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Marco_Antonio)&diff=2936
Solução: Problema da palavra mágica (Marco Antonio)
2009-05-20T14:28:10Z
<p>200.17.147.2: New page: <code lang="cpp"> #include <iostream> #include <string> #include <algorithm> using namespace std; bool compare(char chara, char charb) { return (chara < charb); } int main() { string ...</p>
<hr />
<div><code lang="cpp"><br />
#include <iostream><br />
#include <string><br />
#include <algorithm><br />
<br />
using namespace std;<br />
<br />
bool compare(char chara, char charb)<br />
{<br />
return (chara < charb);<br />
}<br />
<br />
int main()<br />
{<br />
string entry, word;<br />
<br />
cin >> entry;<br />
if (entry.length() % 2 == 0){<br />
word = entry.substr(0, (entry.length()/2));<br />
entry = entry.substr(entry.length()/2, entry.length());<br />
sort(word.begin(),word.end(),compare);<br />
cout << word << "\n" << entry << endl;<br />
if (!(entry.compare(word)))<br />
cout << "S" << endl;<br />
else<br />
cout << "N" << endl;<br />
}<br />
else<br />
cout << 'N' << endl;<br />
<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(Antonio_Lucas)&diff=2931
Solução: Problema do baile de casais (Antonio Lucas)
2009-05-20T14:01:12Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="cpp"><br />
<br />
<br />
#include <iostream><br />
#include <vector><br />
#include <string><br />
#include<algorithm><br />
<br />
using namespace std;<br />
<br />
int main() {<br />
vector<int> homens, mulheres;<br />
int participantes;<br />
vector<bool> homens_usados;<br />
<br />
cin >> participantes;<br />
<br />
for(int i = 0 ; i < participantes ; i++){<br />
int aux;<br />
cin >> aux;<br />
if (aux % 2 == 0) mulheres.push_back(aux);<br />
else {<br />
homens.push_back(aux);<br />
homens_usados.push_back(false);<br />
}<br />
}<br />
sort(mulheres.begin(),mulheres.end());<br />
sort(homens.begin(),homens.end());<br />
<br />
<br />
for (int i = 0 ; i < mulheres.size(); i++){<br />
bool achou_par = false;<br />
for (int j = 0 ; j < homens.size() ; j++){<br />
if (mulheres[i] < homens[j]){<br />
if (not homens_usados[j]){<br />
homens_usados[j] = true;<br />
achou_par = true;<br />
break;<br />
}<br />
}<br />
}<br />
if (not achou_par){<br />
cout << "F\n";<br />
return 0;<br />
}<br />
}<br />
cout << "S\n";<br />
<br />
return 0;<br />
}<br />
<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_palavra_m%C3%A1gica_(Vanessa_Aline)&diff=2930
Solução: Problema da palavra mágica (Vanessa Aline)
2009-05-20T13:53:42Z
<p>200.17.147.2: New page: <code lang="java"> import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class PalavraMagica { /** * @param args */ public static void ma...</p>
<hr />
<div><code lang="java"><br />
import java.io.BufferedReader;<br />
import java.io.InputStreamReader;<br />
import java.util.Arrays;<br />
<br />
public class PalavraMagica {<br />
<br />
/**<br />
* @param args<br />
*/<br />
public static void main(String[] args) {<br />
BufferedReader inReader;<br />
inReader = new BufferedReader(new InputStreamReader(System.in));<br />
String palavra = "";<br />
try {<br />
palavra = inReader.readLine();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
if ((palavra.length() % 2) != 0 ){<br />
System.out.println("N"); <br />
} else {<br />
String primeiraParte = palavra.substring(0, palavra.length()/2);<br />
String segundaParte = palavra.substring(palavra.length()/2); <br />
byte[] letrasSegunda = segundaParte.getBytes(); <br />
byte[] letrasPrimeira = primeiraParte.getBytes();<br />
Arrays.sort(letrasPrimeira); <br />
String resposta = "S"; <br />
for (int i =0; i < letrasSegunda.length ; i++) { <br />
if (letrasPrimeira[i] != letrasSegunda[i])<br />
resposta = "N";<br />
} <br />
System.out.println(resposta); <br />
} <br />
<br />
<br />
}<br />
<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(C%C3%A1tia_Souza)&diff=2929
Solução: Problema do baile de casais (Cátia Souza)
2009-05-20T13:50:20Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="java"><br />
import java.io.BufferedReader;<br />
import java.io.Console;<br />
import java.io.IOException;<br />
import java.io.InputStreamReader;<br />
import java.util.ArrayList;<br />
import java.util.LinkedList;<br />
import java.util.Scanner;<br />
import java.util.SortedMap;<br />
import java.util.SortedSet;<br />
import java.util.TreeSet;<br />
<br />
<br />
public class BaileCasais {<br />
<br />
/**<br />
* @param args<br />
*/<br />
public static void main(String[] args) throws IOException{<br />
<br />
<br />
ArrayList<Integer> Homens = new ArrayList<Integer>();<br />
SortedSet<Integer> Mulheres= new TreeSet<Integer>();<br />
<br />
Scanner scanner = new Scanner( System.in );<br />
Integer numeroConvidados = scanner.nextInt();<br />
<br />
while(numeroConvidados>0){<br />
Integer convidado;<br />
if((convidado = scanner.nextInt())%2==0){<br />
Mulheres.add(convidado);<br />
}<br />
else{<br />
Homens.add(convidado);<br />
}<br />
numeroConvidados--;<br />
}<br />
System.out.println(juntaCasais(Homens,Mulheres));<br />
<br />
<br />
}<br />
<br />
public static Character juntaCasais(ArrayList<Integer> homis, SortedSet<Integer> muies){<br />
int iteracoes = muies.size();<br />
boolean juntou;<br />
<br />
while(iteracoes>=0){<br />
if(!muies.isEmpty()){<br />
Integer muie = muies.last();<br />
juntou=false;<br />
for(Integer homi: homis){<br />
if((juntou==false) && (homi>muie)){<br />
muies.remove(muie);<br />
juntou = true;<br />
}<br />
}<br />
if(juntou==false)<br />
return 'F';<br />
iteracoes--;<br />
}<br />
else{<br />
break;<br />
} <br />
<br />
<br />
}<br />
<br />
if(muies.isEmpty()){<br />
return 'S';<br />
}<br />
<br />
return 'F';<br />
<br />
}<br />
<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Mini-apresenta%C3%A7%C3%A3o_de_competi%C3%A7%C3%A3o_em_dupla&diff=2928
Mini-apresentação de competição em dupla
2009-05-20T13:26:41Z
<p>200.17.147.2: /* Duplas/Site/Competição */</p>
<hr />
<div>== Tarefa ==<br />
Escolher e apresentar uma competição ou site de competição.<br />
<br />
A apresentação deve ter duração máxima de 15 minutos e conter:<br />
#Descrição das regras do site/competição.<br />
#Descrição dos prémios distribuídos.<br />
#Lista dos patrocinadores/empresas "olheiras".<br />
#No mínimo um problema do site/competição resolvido e analisado pela dupla.<br />
<br />
As apresentações devem ocorrer entre os dias 06/05/2009 e 10/06/2009.<br />
<br />
As duplas devem editar a seção abaixo e postar as informações conforme o exemplo a seguir.<br />
;Dupla<br />
:Fulano da Silva<br />
:Fulaninho Souza.<br />
;Site/Competição<br />
:Aquela superimportante.<br />
;Data<br />
:XX/XX/2009.<br />
<br />
== Duplas/Site/Competição ==<br />
<br />
;Dupla<br />
:Jandson Santos Nunes <br />
:Paulo Cesar de Alencar Gonçalves Filho <br />
;Site/Competição<br />
:http://olimpiada.ic.unicamp.br/ <br />
;Data<br />
:13/05/2009.<br />
<br />
;Dupla<br />
:Antonio Lucas<br />
:Cátia Nascimento<br />
;Site/Competição<br />
:http://maratona.ime.usp.br/<br />
;Data<br />
:20/05/2009.<br />
<br />
;Dupla<br />
:Fernando Nunes de Almeida<br />
:Luís Bernardo<br />
;Site/Competição<br />
:http://code.google.com/intl/pt-BR/codejam/<br />
;Data<br />
:27/05/2009.<br />
<br />
;Dupla<br />
:Vanessa Aline<br />
:Delson Rosário<br />
;Site/Competição<br />
:Aquela superimportante. <br />
;Data<br />
:03/06/2009.<br />
<br />
;Dupla<br />
:Filipe Teles<br />
:Marco Antonio<br />
;Site/Competição<br />
:Aquela superimportante.<br />
;Data<br />
:10/06/2009.</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_da_matriz_do_Paint_(Luis_Bernardo)&diff=2927
Solução: Problema da matriz do Paint (Luis Bernardo)
2009-05-20T13:26:13Z
<p>200.17.147.2: New page: <code lang="Java"> public class MatrizDoPaint { private int valorInicial; public MatrizDoPaint(){ valorInicial = 0; } public void Pintar(int[][] matriz,int colun...</p>
<hr />
<div><code lang="Java"><br />
<br />
public class MatrizDoPaint {<br />
private int valorInicial;<br />
<br />
public MatrizDoPaint(){<br />
valorInicial = 0;<br />
}<br />
<br />
public void Pintar(int[][] matriz,int coluna,int linha,int novoValor){<br />
if(dentroLimites(matriz, coluna, linha)){<br />
valorInicial = matriz[linha][coluna];<br />
if(valorInicial!= novoValor){<br />
pintarRestantes(matriz,coluna,linha,novoValor);<br />
}<br />
}<br />
}<br />
<br />
//Percorre a matriz semelhante a rosa dos ventos<br />
private void pintarRestantes(int[][] matriz, int coluna, int linha, int novoValor) {<br />
if(dentroLimites(matriz, coluna, linha)){<br />
int valorPosicao = matriz[linha][coluna];<br />
if(valorPosicao==valorInicial){<br />
matriz[linha][coluna] = novoValor;<br />
//Frente<br />
pintarRestantes(matriz, coluna+1, linha, novoValor);<br />
//Tras<br />
pintarRestantes(matriz, coluna-1, linha, novoValor);<br />
//Cima<br />
pintarRestantes(matriz, coluna, linha-1, novoValor);<br />
//Baixo<br />
pintarRestantes(matriz, coluna, linha+1, novoValor);<br />
//Diagonal Superior esquerda<br />
pintarRestantes(matriz, coluna-1, linha-1, novoValor);<br />
//Diagonal Inferior esquerda<br />
pintarRestantes(matriz, coluna-1, linha+1, novoValor);<br />
//Diagonal Superior direita<br />
pintarRestantes(matriz, coluna+1, linha-1, novoValor);<br />
//Diagonal Inferior direita<br />
pintarRestantes(matriz, coluna+1, linha+1, novoValor);<br />
}<br />
}<br />
}<br />
<br />
//Dentro Limites considera que a matriz do problema sera quadrada<br />
private boolean dentroLimites(int[][] matriz,int x, int y){<br />
if((x>=0)&&(x<matriz[0].length)){<br />
if((y>=0)&&(y<matriz.length)){<br />
return true;<br />
}<br />
else{<br />
return false;<br />
}<br />
}else{<br />
return false;<br />
}<br />
}<br />
<br />
public void exibeMatriz(int[][] matriz) {<br />
for(int i = 0; i< matriz.length; i++){<br />
if(i==0)<br />
System.out.print("{ ");<br />
for(int j = 0; j<matriz[i].length; j++){<br />
if(j==0)<br />
System.out.print("{"+matriz[i][j]+",");<br />
if(j==(matriz[i].length-1)&&(i!=(matriz.length-1) ))<br />
System.out.print(matriz[i][j]+"},");<br />
if((j>0)&&(j<(matriz.length-1)))<br />
System.out.print(matriz[i][j]+",");<br />
if(j==(matriz[i].length-1)&&(i==(matriz.length-1) ))<br />
System.out.print(matriz[i][j]+"}");<br />
}<br />
if((i>=0)&&(i<(matriz[i].length-1)))<br />
System.out.print("\n ");<br />
}<br />
System.out.print("}\n");<br />
}<br />
}<br />
<br />
public class MainPaint {<br />
<br />
/**<br />
* @param args the command line arguments<br />
*/<br />
public static void main(String[] args) {<br />
// TODO code application logic here<br />
MatrizDoPaint mat = new MatrizDoPaint();<br />
int [][] matriz= {{1, 1, 3, 0, 0, 0, 1},<br />
{0, 0, 1, 2, 0, 1, 0},<br />
{0, 0, 1, 0, 1, 0, 1},<br />
{9, 6, 3, 1, 0, 1, 0},<br />
{6, 2, 4, 7, 1, 0, 1},<br />
{0, 0, 0, 0, 0, 0, 1},<br />
{0, 1, 9, 6, 0, 1, 0} };<br />
mat.Pintar(matriz ,0,0,2);<br />
mat.exibeMatriz(matriz);<br />
<br />
}<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(C%C3%A1tia_Souza)&diff=2926
Solução: Problema do baile de casais (Cátia Souza)
2009-05-20T13:25:09Z
<p>200.17.147.2: New page: import java.io.BufferedReader; import java.io.Console; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.ut...</p>
<hr />
<div>import java.io.BufferedReader;<br />
import java.io.Console;<br />
import java.io.IOException;<br />
import java.io.InputStreamReader;<br />
import java.util.ArrayList;<br />
import java.util.LinkedList;<br />
import java.util.Scanner;<br />
import java.util.SortedMap;<br />
import java.util.SortedSet;<br />
import java.util.TreeSet;<br />
<br />
<br />
public class BaileCasais {<br />
<br />
/**<br />
* @param args<br />
*/<br />
public static void main(String[] args) throws IOException{<br />
<br />
<br />
ArrayList<Integer> Homens = new ArrayList<Integer>();<br />
SortedSet<Integer> Mulheres= new TreeSet<Integer>();<br />
<br />
Scanner scanner = new Scanner( System.in );<br />
Integer numeroConvidados = scanner.nextInt();<br />
<br />
while(numeroConvidados>0){<br />
Integer convidado;<br />
if((convidado = scanner.nextInt())%2==0){<br />
Mulheres.add(convidado);<br />
}<br />
else{<br />
Homens.add(convidado);<br />
}<br />
numeroConvidados--;<br />
}<br />
System.out.println(juntaCasais(Homens,Mulheres));<br />
<br />
<br />
}<br />
<br />
public static Character juntaCasais(ArrayList<Integer> homis, SortedSet<Integer> muies){<br />
int iteracoes = muies.size();<br />
boolean juntou;<br />
<br />
while(iteracoes>=0){<br />
if(!muies.isEmpty()){<br />
Integer muie = muies.last();<br />
juntou=false;<br />
for(Integer homi: homis){<br />
if((juntou==false) && (homi>muie)){<br />
muies.remove(muie);<br />
juntou = true;<br />
}<br />
}<br />
if(juntou==false)<br />
return 'F';<br />
iteracoes--;<br />
}<br />
else{<br />
break;<br />
} <br />
<br />
<br />
}<br />
<br />
if(muies.isEmpty()){<br />
return 'S';<br />
}<br />
<br />
return 'F';<br />
<br />
}<br />
<br />
}</div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_colecionador_de_moedas_(Paulo_Cesar)&diff=2923
Solução: Problema do colecionador de moedas (Paulo Cesar)
2009-05-20T12:37:20Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="cpp"><br />
#include<iostream><br />
#include<vector><br />
#include<algorithm><br />
<br />
using namespace std;<br />
<br />
class Market<br />
{<br />
public:<br />
Market();<br />
int find_max_seals();<br />
private:<br />
vector<int> _seals;<br />
int _money;<br />
};<br />
<br />
Market::<br />
Market()<br />
{<br />
_money = 0;<br />
<br />
int size;<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int value;<br />
cin >> value;<br />
_seals.push_back(value);<br />
}<br />
<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int name;<br />
cin >> name;<br />
_money += _seals[name];<br />
} <br />
}<br />
<br />
int Market::<br />
find_max_seals()<br />
{<br />
sort(_seals.begin(),_seals.end());<br />
int value = 0, quant = 0;<br />
while(value <= _money)<br />
{<br />
value+=_seals[quant];<br />
if(value <= _money)<br />
quant++;<br />
}<br />
return quant;<br />
}<br />
<br />
int main()<br />
{<br />
Market market = Market();<br />
cout << market.find_max_seals() << endl;<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_colecionador_de_moedas_(Paulo_Cesar)&diff=2922
Solução: Problema do colecionador de moedas (Paulo Cesar)
2009-05-20T12:36:12Z
<p>200.17.147.2: </p>
<hr />
<div><code lang="C++"><br />
#include<iostream><br />
#include<vector><br />
#include<algorithm><br />
<br />
using namespace std;<br />
<br />
class Market<br />
{<br />
public:<br />
Market();<br />
int find_max_seals();<br />
private:<br />
vector<int> _seals;<br />
int _money;<br />
};<br />
<br />
Market::<br />
Market()<br />
{<br />
_money = 0;<br />
<br />
int size;<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int value;<br />
cin >> value;<br />
_seals.push_back(value);<br />
}<br />
<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int name;<br />
cin >> name;<br />
_money += _seals[name];<br />
} <br />
}<br />
<br />
int Market::<br />
find_max_seals()<br />
{<br />
sort(_seals.begin(),_seals.end());<br />
int value = 0, quant = 0;<br />
while(value <= _money)<br />
{<br />
value+=_seals[quant];<br />
if(value <= _money)<br />
quant++;<br />
}<br />
return quant;<br />
}<br />
<br />
int main()<br />
{<br />
Market market = Market();<br />
cout << market.find_max_seals() << endl;<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_colecionador_de_moedas_(Paulo_Cesar)&diff=2921
Solução: Problema do colecionador de moedas (Paulo Cesar)
2009-05-20T12:35:46Z
<p>200.17.147.2: New page: <code lang="C"> #include<iostream> #include<vector> #include<algorithm> using namespace std; class Market { public: Market(); int find_max_seals(); private: vector<int> _seals; i...</p>
<hr />
<div><code lang="C"><br />
#include<iostream><br />
#include<vector><br />
#include<algorithm><br />
<br />
using namespace std;<br />
<br />
class Market<br />
{<br />
public:<br />
Market();<br />
int find_max_seals();<br />
private:<br />
vector<int> _seals;<br />
int _money;<br />
};<br />
<br />
Market::<br />
Market()<br />
{<br />
_money = 0;<br />
<br />
int size;<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int value;<br />
cin >> value;<br />
_seals.push_back(value);<br />
}<br />
<br />
cin >> size;<br />
for(int cont = 0; cont < size; cont++)<br />
{<br />
int name;<br />
cin >> name;<br />
_money += _seals[name];<br />
} <br />
}<br />
<br />
int Market::<br />
find_max_seals()<br />
{<br />
sort(_seals.begin(),_seals.end());<br />
int value = 0, quant = 0;<br />
while(value <= _money)<br />
{<br />
value+=_seals[quant];<br />
if(value <= _money)<br />
quant++;<br />
}<br />
return quant;<br />
}<br />
<br />
int main()<br />
{<br />
Market market = Market();<br />
cout << market.find_max_seals() << endl;<br />
return 0;<br />
}<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_baile_de_casais_(Antonio_Lucas)&diff=2917
Solução: Problema do baile de casais (Antonio Lucas)
2009-05-20T12:24:46Z
<p>200.17.147.2: New page: <code lang="cpp"> #include <iostream> #include <vector> #include <string> #include<algorithm> using namespace std; int main() { vector<int> homens, mulheres; int participantes; vect...</p>
<hr />
<div><code lang="cpp"><br />
<br />
<br />
#include <iostream><br />
#include <vector><br />
#include <string><br />
#include<algorithm><br />
<br />
using namespace std;<br />
<br />
int main() {<br />
vector<int> homens, mulheres;<br />
int participantes;<br />
vector<bool> homens_usados;<br />
<br />
cin >> participantes;<br />
<br />
for(int i = 0 ; i < participantes ; i++){<br />
int aux;<br />
cin >> aux;<br />
if (aux % 2 == 0) mulheres.push_back(aux);<br />
else {<br />
homens.push_back(aux);<br />
homens_usados.push_back(false);<br />
}<br />
}<br />
sort(mulheres.begin(),mulheres.end());<br />
sort(homens.begin(),homens.end());<br />
<br />
<br />
for (int i = 0 ; i < mulheres.size(); i++){<br />
bool achou_par = false;<br />
for (int j = 0 ; j < homens.size() ; j++){<br />
if (mulheres[i] < homens[j]){<br />
if (not homens_usados[j]){<br />
homens_usados[j] = true;<br />
achou_par = true;<br />
break;<br />
}<br />
}<br />
}<br />
if (not achou_par){<br />
cout << "F\n";<br />
return 0;<br />
}<br />
}<br />
cout << "S\n";<br />
<br />
return 0;<br />
}<br />
<br />
<br />
<\code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Solu%C3%A7%C3%A3o:_Problema_do_grafo_conexo_(Jandson_Santos)&diff=2914
Solução: Problema do grafo conexo (Jandson Santos)
2009-05-20T12:21:46Z
<p>200.17.147.2: New page: <code lang="cpp"> #ifndef _VERTICE_H_ #define _VERTICE_H_ #include <iostream> #include <vector> using namespace std; class Vertice { private: vector<int> adjacencias; bo...</p>
<hr />
<div><code lang="cpp"><br />
<br />
#ifndef _VERTICE_H_<br />
#define _VERTICE_H_<br />
<br />
#include <iostream><br />
#include <vector><br />
<br />
using namespace std;<br />
<br />
class Vertice<br />
{<br />
private:<br />
vector<int> adjacencias;<br />
bool visitado;<br />
public:<br />
Vertice();<br />
void setAdjacencia(int x);<br />
int getAdjacencia(int x);<br />
bool consultaAdjacencia(int x);<br />
void setVisitado(bool x);<br />
bool getVisitado();<br />
unsigned int getQtdeAdjacencias();<br />
};<br />
<br />
#endif /*_VERTICE_H_*/<br />
<br />
Vertice::Vertice()<br />
{<br />
}<br />
<br />
void Vertice::setAdjacencia(int x)<br />
{<br />
adjacencias.push_back(x);<br />
}<br />
<br />
int Vertice::getAdjacencia(int x)<br />
{<br />
return adjacencias[x];<br />
}<br />
<br />
bool Vertice::consultaAdjacencia(int x)<br />
{<br />
int i;<br />
for(i=0; i<((int) adjacencias.size()); i++)<br />
{<br />
if(adjacencias.at(i) == x)<br />
{<br />
return true;<br />
}<br />
}<br />
return false;<br />
}<br />
<br />
void Vertice::setVisitado(bool x)<br />
{<br />
visitado = x;<br />
}<br />
<br />
bool Vertice::getVisitado()<br />
{<br />
return visitado;<br />
}<br />
<br />
unsigned int Vertice::getQtdeAdjacencias()<br />
{<br />
return (int) adjacencias.size();<br />
}<br />
<br />
<br />
<br />
#ifndef _GRAFO_H_<br />
#define _GRAFO_H_<br />
<br />
#include <iostream><br />
#include <cstdlib><br />
#include <vector><br />
#include "Vertice.cpp"<br />
<br />
using namespace std;<br />
<br />
class Grafo<br />
{<br />
private:<br />
vector<Vertice> lVertices;<br />
int tamGrafo;<br />
public:<br />
Grafo(int t);<br />
void lerEntradas(int qtde);<br />
Vertice getVertice(int i);<br />
int conexo();<br />
};<br />
<br />
#endif /*_GRAFO_H_*/<br />
<br />
Grafo::Grafo(int t)<br />
{<br />
int i;<br />
tamGrafo = t;<br />
for(i=0; i<t; i++)<br />
{<br />
lVertices.push_back(Vertice());<br />
}<br />
}<br />
<br />
Vertice Grafo::getVertice(int i)<br />
{<br />
return lVertices[i];<br />
}<br />
<br />
void Grafo::lerEntradas(int qtde)<br />
{<br />
int x, y;<br />
while(qtde--)<br />
{<br />
cin >> x;<br />
cin >> y;<br />
lVertices[x].setAdjacencia(y);<br />
lVertices[y].setAdjacencia(x);<br />
}<br />
}<br />
<br />
int Grafo::conexo()<br />
{<br />
vector<Vertice> pilha;<br />
unsigned int i, y;<br />
Vertice topo;<br />
for(i=0; i<lVertices.size(); i++)<br />
{<br />
lVertices[i].setVisitado(false);<br />
}<br />
pilha.clear();<br />
topo = lVertices[0];<br />
topo.setVisitado(true);<br />
pilha.push_back(topo);<br />
while (!pilha.empty())<br />
{<br />
topo = pilha.back();<br />
i=0;<br />
while(i<topo.getQtdeAdjacencias())<br />
{<br />
y = topo.getAdjacencia(i);<br />
if (lVertices[y].getVisitado())<br />
{<br />
i++;<br />
}<br />
else<br />
{<br />
lVertices[y].setVisitado(true);<br />
pilha.push_back(lVertices[y]);<br />
topo = pilha.back();<br />
i=0;<br />
}<br />
}<br />
pilha.pop_back();<br />
}<br />
for(i=0; i<((int) lVertices.size()); i++)<br />
{<br />
if (!lVertices[i].getVisitado())<br />
{<br />
return false;<br />
}<br />
}<br />
return true;<br />
}<br />
<br />
int main ()<br />
{<br />
int tamGrafo, qtdeArestas;<br />
cin >> tamGrafo;<br />
cin >> qtdeArestas;<br />
Grafo g(tamGrafo);<br />
g.lerEntradas(qtdeArestas);<br />
cout << g.conexo() << endl;<br />
}<br />
<br />
</code></div>
200.17.147.2
https://www.adonaimedrado.pro.br/wiki/index.php?title=Mini-apresenta%C3%A7%C3%A3o_de_competi%C3%A7%C3%A3o_em_dupla&diff=2883
Mini-apresentação de competição em dupla
2009-05-19T16:37:15Z
<p>200.17.147.2: /* Duplas/Site/Competição */</p>
<hr />
<div>== Tarefa ==<br />
Escolher e apresentar uma competição ou site de competição.<br />
<br />
A apresentação deve ter duração máxima de 15 minutos e conter:<br />
#Descrição das regras do site/competição.<br />
#Descrição dos prémios distribuídos.<br />
#Lista dos patrocinadores/empresas "olheiras".<br />
#No mínimo um problema do site/competição resolvido e analisado pela dupla.<br />
<br />
As apresentações devem ocorrer entre os dias 06/05/2009 e 10/06/2009.<br />
<br />
As duplas devem editar a seção abaixo e postar as informações conforme o exemplo a seguir.<br />
;Dupla<br />
:Fulano da Silva<br />
:Fulaninho Souza.<br />
;Site/Competição<br />
:Aquela superimportante.<br />
;Data<br />
:XX/XX/2009.<br />
<br />
== Duplas/Site/Competição ==<br />
<br />
;Dupla<br />
:Jandson Santos Nunes <br />
:Paulo Cesar de Alencar Gonçalves Filho <br />
;Site/Competição<br />
:http://olimpiada.ic.unicamp.br/ <br />
;Data<br />
:13/05/2009.<br />
<br />
;Dupla<br />
:Antonio Lucas<br />
:Cátia Nascimento<br />
;Site/Competição<br />
:http://maratona.ime.usp.br/<br />
;Data<br />
:20/05/2009.<br />
<br />
;Dupla<br />
:Fernando Nunes de Almeida<br />
:Luís Bernardo<br />
;Site/Competição<br />
:Aquela superimportante. <br />
;Data<br />
:27/05/2009.<br />
<br />
;Dupla<br />
:Vanessa Aline<br />
:Delson Rosário<br />
;Site/Competição<br />
:Aquela superimportante. <br />
;Data<br />
:03/06/2009.<br />
<br />
;Dupla<br />
:Filipe Teles<br />
:Marco Antonio<br />
;Site/Competição<br />
:Aquela superimportante.<br />
;Data<br />
:10/06/2009.</div>
200.17.147.2