Ir para conteúdo
Fórum Script Brasil

wz0d34

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Tudo que wz0d34 postou

  1. wz0d34

    Tabela De Times

    <b>Veja este código. Se tiver dúvidas pergunte.</b> /* Todos jogam contra todos - 1 turno */ /* Menos contra SI - Óbvio */ /* Duvidas? Post it. */ #include <stdio.h> #include <conio.h> char *tabT[] = {"T1","T2","T3", "T4","T5","T6", "T7","T8"}; int n = 8; void main(void) { clrscr(); for(int i=0; i<n; i++) { printf("Rodada %02d : ",i+1); for(int j=0; j<n; j++) { if(i!=j) { if(j>0) { printf(","); } printf("%sx%s",tabT[i],tabT[j]); } else { if(j>0) printf(","); printf("--x--"); } } printf("\n"); } }
  2. wz0d34

    Programa Tipo Contador

    Olá simul5 Olá William Rodrigues, William, sua sugestão é boa mas temos que ter cuidado porque em alguns casos ela funciona mas não atende a especificação do simul5 porque depende do tamanho da palavra do computador e do tamanho da palavra do compilador C. Por exemplo: Para uma máquina de 16 bits (XT) o número de casas hexadecimais na intrução: printf("016X..." poderia ser, no máximo, 4: printf("04X..." Analogamente: para uma máquina de 32 bits printf ("08X... Um máquina, para atender a especificação do simul5 deveria trabalhar com 64 bits. E o compilador também. A única saída para o caso seria desenvolver uma função para somar 1 a uma string hexadecimal de 64 caracteres. Se restaram dúvidas postaí. Nós podemos tentar ver.
  3. IwannaC, veja aí se resolve. Se não resolver, posta. #include <stdio.h> #include <stdlib.h> void stc(char *pdestino, char *porigem) { do { *pdestino++ = *porigem++; } while(*(porigem-1)); } // Por que mudei while para do while? // Porque assim o '\0' entra no looping // voce economiza uma instrucao. // Os operadores ++ podem e devem ficar // na linha em que e feita a atrbuicao, // porque assim otimizam-se espaco e // tempo de execucao. Otimiza pouco // mas não custa nada. int main() { char str[100],str1[100],str2[200]; while(1) //Enquanto verdadeiro. { //(isso e sempre verdadeiro) printf( "Para sair pressione \042<ENTER>\042" " sem digitar caractere.\n"); printf( "Digite uma frase.............: "); gets(str); if(str[0]==0) break; // enter sem digitacao stc(str1,str); // de nenhum chartere: sai. stc(str2,"Voce digitou a seguinte frase: "); printf("%s%s\n\n",str2,str1); system("Pause"); } return 0; } /* Tirei os comandos de entrelinha `\n` apos os prompts. Isso e questao de gosto. Mas estatisticamente me parece um modo mais frequentemente usado. Voce disse que quer que a funcao stc funcione como a strcpy. A menos das otimizacoes que provavelmente foram feitas na strcpy a stc esta funcionando como a strcpy. Qualquer duvida post ai. */
  4. Alguns ajustes e temos um codigo mais genérico: ***************************************** Compilador Borland - versão 3.1 - 1990 #include <stdio.h> #include <conio.h> #include <string.h> #include <dos.h> void main(void) { int cont; int i; char str[6]="Joao "; /* Se quiser pode trocar na instrucao abaixo 15 por 1000 ou qualquer outo numero - numero de repeticoes da palavra "Joao " scrita verticalmente */ clrscr(); /* limpa a tela antes de comecar os loopings */ for(cont=0; cont<15; cont+=strlen(str)) /* executa 3 iteracoes - 0 a 14 de 5 em 5 */ { for (i=0; i<strlen(str)-1; i++) /* executa 5 iteracoes - 0 a 4 de 1 em 1 */ { printf("%05d %c\n",cont+i,str[i]); /* imprime a linha atual */ } } }
  5. Tente usar o exposto no exemplo baixo: #include <stdio.h> #include <conio.h> #include <dos.h> void main(void) { char linha[30]; int cont; int i; char str[5]="Joao "; /* Se quiser pode trocar na instrucao abaixo 15 por 1000 ou qualquer outo numero - e bom que seja multiplo de 5 senao a ultima palavra "Joao " vai ficar incompleta */ clrscr(); /* limpa a tela antes de comecar os loopings */ for(cont=0;cont<15;cont+=5) /* executa 3 iteracoes - 0 a 14 de 5 em 5 */ { for (i=0; i<5; i++) /* executa 5 iteracoes - 0 a 4 de 1 em 1 */ { printf("%05d %c\n",cont+i,str); /* imprime a linha atual */ } } } -Espero ter ajudado.
×
×
  • Criar Novo...