Ir ao conteúdo
  • Cadastre-se

Diego Starke

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

  1. Basta retirar o printf, ai o código ficará assim: #include <stdio.h> #include <stdlib.h> #define TAM 10 int main(int argc, char *argv[]) { int vec[TAM], i, j, num; for(i=0;i<TAM;i++){ printf("Entre com os valores do vetor: "); scanf("%d", &vec); num = vec; for(j = 0;j<i;j++){ if (vec[j]==num){ i--; } } } for(i=0;i<TAM;i++){ printf("%d ", vec); } return 0; } Ai ele só n acusa q foi digitado repetido e o cidadão continua inserindo dados como se nada tivesse acontecido =b O i-- é essencial p decrementar o número repetido. Espero ter ajudado.
  2. A ideia é basicamente comparar os dados de entrada com os que já estão no vetor. Deve criar a primeira entrada para ter a primeira comparação, por q como tu deve sabe, pode estar alocado qq valor na memória inicialmente, e é capaz de o valor de entrada já estar lá. Eu sei resolver ele em C: #include <stdio.h> #include <stdlib.h> #define TAM 10 int main(int argc, char *argv[]) { int vec[TAM], i, j, num; for(i=0;i<TAM;i++){ printf("Entre com os valores do vetor: "); scanf("%d", &vec); num = vec; for(j = 0;j<i;j++){ if (vec[j]==num){ i--; printf("Esse numero já foi digitado, insira outro no lugar.\n"); } } } for(i=0;i<TAM;i++){ printf("%d ", vec); } return 0; } Bom, essa é uma ideia, dá p fazer de outras também. Abraços.
  3. Bheeei, muito obrigado pessoal, nem me dei conta desse detalhe. Você são demais. Abraços.
  4. %d\t Basta colocar o \t, ele dará um espaçamento nos termos, só p números muuuito grandes pode desalinhar novamente, ai daria p por \t\t Isso resolve o problema. Abraços.
  5. float x;x = ( float )1/2; /** Antes da divisão o inteiro 1 e promovido (Upcasting) para 1.0 float; * Agora acontece como esperado: 1.0/2 = 0.50000000 */ cout << x;Mauro Britivaldo Não querendo me intrometer, mas já me intrometendo hahha. Testei isso q tu mostrou em um código em C meu e não funcionou. Se não funciona em C, tem alguma forma mais light de fazer isso? Para contornar esse problema eu criei duas variáveis float x e y, e igualei ela as variáveis inteiras, mas achei meio grotesco, queria saber se tem uma forma tipo essa como tu mostrou ai. Abraços.
  6. Olá pessoal, essa minha primeira participação no fórum, mas já venho procurando e solucionando problemas dos mais diversos apenas com as respostas de perguntas já feitas anteriormente. Minha dúvida é referente ao seguinte código: _________________________________________ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main(int argc, char *argv[]) { int i, j=0, k, flag = 0; char frase[20], letra[20]; printf("Digite a primeira frase:\n"); gets(frase); int size = strlen(frase); for(i=0 ; i<size; i++){ if(i == 0){ letra[j] = frase; j++; } for(k=0 ; k<j ; k++){ if(letra[k] == frase){ flag = 1; } } if ( flag == 0 ){ letra[j] = frase; } else if( flag == 1 ){ flag = 0; j--; } j++; } printf("A frase contem %d letras diferentes.\n", j); puts(frase); puts(letra); printf("%s\n", letra); for(i=0;i<j;i++){ printf("%c", letra); } return 0; } _________________________________________ No fim do código eu coloquei puts p imprimir a frase inicial e em seguida a string letra (referente a frase digitada). Tanto usando o puts(letra) como o printf("%s\n", letra), aparece um caractere estranho que não aparece na frase digitada, porém, quando eu utilizo: for(i=0;i<j;i++){ printf("%c", letra); } A frase sai impressa exatamente como é para ser, sem as letras repetidas, e sem o(s) caracteres estranhos. Se puderem ajudar ficarei muito grato. Obrigado desde já.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!