lesiano Posted May 9, 2008 at 12:21 AM Report Share #184085 Posted May 9, 2008 at 12:21 AM int main(){ char evento[100]; int concorrente[100],i=0; unsigned int tempo[100]; do { scanf("%c %d %d", &evento[i], &concorrente[i], &evento[i]); i++; } while ( evento[i-1] != NULL ); system("PAUSE"); } Aqui acontece uma coisa mt estranha. Se na primeira introdução lhe der um valor igual a 0, ele salta logo do ciclo. Mas até pode ser no concorrente ou no evento... Se ñ lhe der nenhum zero, ele continua infinitamente. Sinceramente ñ sei o q pensar... Link to comment Share on other sites More sharing options...
TheDark Posted May 9, 2008 at 03:47 AM Report Share #184095 Posted May 9, 2008 at 03:47 AM NULL = zero. Assim que colocas um zero no array evento, a condição do while torna-se verdadeira. Quando dizes que no concorrente também sai, qual é o input que estás a dar ao programa? Desaparecido. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 9, 2008 at 09:57 AM Report Share #184120 Posted May 9, 2008 at 09:57 AM Isso é do problema do teste de ontem 😄 Tendo em conta o problema e que o input são uma série de linhas com 3 argumentos, eu fiz assim: int x; do { if((x = scanf("%c %d %d\n", &evento, &concorrente, &evento))) { // Guarda e/ou trabalha os dados lidos! } } while(x == 3); Link to comment Share on other sites More sharing options...
TheDark Posted May 9, 2008 at 04:18 PM Report Share #184182 Posted May 9, 2008 at 04:18 PM Uma coisa que não tinha reparado antes e que está a acontecer no código de ambos: assim estão a perder o %c. É de propósito? Nazgulled: podes optimizar isso fazendo só um teste: while (scanf("%c %d %d\n", &evento, &concorrente, &evento) == 3) { // Guarda e/ou trabalha os dados lidos! } Desaparecido. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 9, 2008 at 06:52 PM Report Share #184208 Posted May 9, 2008 at 06:52 PM Estamos a perder o %c? Qual? O do inicio antes dos %d %d? Não não estamos... Quer dizer, nao sei porque razão estás a dizer, mas será por estar &evento em vez de apenas evento? Não me lembro ao certo o código que usei no teste, mas não perdi o %c. Sim, eu sei que podia optimizar, mas quando estás a fazer um teste com tempo, o que interessa é que funcione 😛 Link to comment Share on other sites More sharing options...
TheDark Posted May 10, 2008 at 01:02 AM Report Share #184251 Posted May 10, 2008 at 01:02 AM Estamos a perder o %c? Qual? O do inicio antes dos %d %d? Não não estamos... Quer dizer, nao sei porque razão estás a dizer, mas será por estar &evento em vez de apenas evento? Não me lembro ao certo o código que usei no teste, mas não perdi o %c. Não, é por estares a escrever no mesmo endereço de memória duas vezes na mesma linha. Sim, eu sei que podia optimizar, mas quando estás a fazer um teste com tempo, o que interessa é que funcione 😛 Às vezes a optimização também conta para a nota. Falo por experiência própria 😄 Desaparecido. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 10, 2008 at 02:26 AM Report Share #184255 Posted May 10, 2008 at 02:26 AM Tas a falar do &evento, &concorrente, &evento? É que nem se quer tinha reparado até teres dito isso... Copiei do código inicial e alterei umas coisas mas nem tinha reparado no nome da variável, a última era suposto ser &tempo. Às vezes a optimização também conta para a nota. Falo por experiência própria 😄 Não nos testes que a gente fez. O tipo de optimização que mencionaste, os profs tão-se a cagar, se não tivessem, nunca mais acabavam de corrigir os trabalhos de toda a gente a ver linha a linha essas coisas tão pequenas. E além do mais, os testes foram feitos no mooshak, duvido que olhem para o código fora da hora do teste. Link to comment Share on other sites More sharing options...
TheDark Posted May 10, 2008 at 02:42 AM Report Share #184256 Posted May 10, 2008 at 02:42 AM Tas a falar do &evento, &concorrente, &evento? É que nem se quer tinha reparado até teres dito isso... Copiei do código inicial e alterei umas coisas mas nem tinha reparado no nome da variável, a última era suposto ser &tempo. Era isso mesmo. Não nos testes que a gente fez. O tipo de optimização que mencionaste, os profs tão-se a cagar, se não tivessem, nunca mais acabavam de corrigir os trabalhos de toda a gente a ver linha a linha essas coisas tão pequenas. E além do mais, os testes foram feitos no mooshak, duvido que olhem para o código fora da hora do teste. Então não queiras fazer testes escritos sobre programação concorrente :😛 Desaparecido. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 10, 2008 at 06:46 PM Report Share #184351 Posted May 10, 2008 at 06:46 PM Mas ninguém falou em testes escritos, os testes são no mooshak e os alunos são bastantes, os profs cá têm mais que fazer... Link to comment Share on other sites More sharing options...
TheDark Posted May 11, 2008 at 04:49 AM Report Share #184437 Posted May 11, 2008 at 04:49 AM Lá estás tu com o teu mau feitio. Falei eu! 😛 Desaparecido. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 11, 2008 at 01:01 PM Report Share #184480 Posted May 11, 2008 at 01:01 PM Mas não tem lógica nenhuma falares, é como estarmos a discutir se laranjas são boas e tu chegas aqui "ah e tal bananas é que é", tipo, não faz sentido nenhum... A discussão não era laranjas vs bananas, era apenas sobre laranjas, logo, não faz sentido nenhum falares em bananas. Link to comment Share on other sites More sharing options...
Rui Carlos Posted May 11, 2008 at 02:44 PM Report Share #184512 Posted May 11, 2008 at 02:44 PM Mas ninguém falou em testes escritos, os testes são no mooshak e os alunos são bastantes, os profs cá têm mais que fazer... Também parece que ninguém tinha falado em testes no mooshak. Mas não tem lógica nenhuma falares, é como estarmos a discutir se laranjas são boas e tu chegas aqui "ah e tal bananas é que é", tipo, não faz sentido nenhum... A discussão não era laranjas vs bananas, era apenas sobre laranjas, logo, não faz sentido nenhum falares em bananas. Pode não fazer sentido, mas toda a gente faz isso... Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
TheDark Posted May 11, 2008 at 03:08 PM Report Share #184519 Posted May 11, 2008 at 03:08 PM Mas não tem lógica nenhuma falares, é como estarmos a discutir se laranjas são boas e tu chegas aqui "ah e tal bananas é que é", tipo, não faz sentido nenhum... A discussão não era laranjas vs bananas, era apenas sobre laranjas, logo, não faz sentido nenhum falares em bananas. Se é isso que achas, ficas na tua que nós ficamos nas nossas, e acabou o offtopic que não vai levar a lado nenhum. Desaparecido. Link to comment Share on other sites More sharing options...
lesiano Posted May 15, 2008 at 04:29 PM Author Report Share #185313 Posted May 15, 2008 at 04:29 PM Bom, agr em Braga, onde estudo, está a decorrer o grandioso enterro da gata '08. Ora ñ venho aqui há séculos. Agr é q vi, agradeço a ajuda, ñ fazia a mínima ideia q dava para fazer como aí está, e dizer q na primeira linha me enganei. Era de facto &evento, &concorrente, &tempo. Mais uma vez, obg. Link to comment Share on other sites More sharing options...
Guest id194 Posted May 15, 2008 at 05:07 PM Report Share #185319 Posted May 15, 2008 at 05:07 PM Bom, agr em Braga, onde estudo, está a decorrer o grandioso enterro da gata '08. Ora ñ venho aqui há séculos. Este ano não está a ser lá grande espingarda... Ainda bem que só fui um dia, mas correu tão mal que nem devia ter ido... Link to comment Share on other sites More sharing options...
lesiano Posted May 16, 2008 at 09:14 PM Author Report Share #185544 Posted May 16, 2008 at 09:14 PM Este ano não está a ser lá grande espingarda... Ainda bem que só fui um dia, mas correu tão mal que nem devia ter ido... Eu fui todos os dias e adorei a cena. De 0 a 10, levava um 7 na boa. A de Coimbra foi mt melhor, mas esta ñ esteve nada mal... Link to comment Share on other sites More sharing options...
lesiano Posted May 17, 2008 at 12:12 AM Author Report Share #185576 Posted May 17, 2008 at 12:12 AM Isso é do problema do teste de ontem 😄 ... Olha uma coisa: #include <stdio.h> int main(){ char evento[100]; int concorrente[100],i=1,t=1,o=0; unsigned int tempo[100]; while (scanf("%c %d %d", &evento, &concorrente, &tempo) == 3) { scanf("%c %d %d", &evento[i], &concorrente[i], &tempo[i]); i++; } while ( t!=i ){ if (concorrente[t-1] == concorente[t] { (?) (2?) o++ } t++; } system("PAUSE"); } i) Onde está o (?) quero comparar a posição t-1 do array concorrente com todas as outras, está correcto assim? ii) No (2?) quero adicionar uma unidade ( concorrente ) ao o. No final é imprimi-lo, certo? Link to comment Share on other sites More sharing options...
Guest id194 Posted May 17, 2008 at 01:50 AM Report Share #185585 Posted May 17, 2008 at 01:50 AM i) Sim, mas dessa forma apenas estas a comprar com o concorrente anterior e não com todos. Não sei bem o que estas a tentar fazer, mas acho que precisas de comparar com todos... ii) Não percebi... Link to comment Share on other sites More sharing options...
lesiano Posted May 17, 2008 at 12:25 PM Author Report Share #185636 Posted May 17, 2008 at 12:25 PM Então qual é a forma de comparar com todos? Link to comment Share on other sites More sharing options...
Baderous Posted May 17, 2008 at 12:41 PM Report Share #185637 Posted May 17, 2008 at 12:41 PM for (k=0;k<i;k++) for (j=k;j<i;j++) if (concorrente[k]==concorrente[j]) Isto assim vai comparar todos os elementos do array. Não sei se é isto que queres, mas já deve dar para ver como se faz. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now