-
Posts
6 -
Cadastrado em
-
Última visita
Reputação
1-
Vetores - Como não repetir um numero no veto? C++
Diego Starke respondeu ao tópico de Danilo Lopes em C/C#/C++
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. -
Vetores - Como não repetir um numero no veto? C++
Diego Starke respondeu ao tópico de Danilo Lopes em C/C#/C++
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. -
Caractere estranho aparecendo no puts e no printf
Diego Starke respondeu ao tópico de Diego Starke em C/C#/C++
Bheeei, muito obrigado pessoal, nem me dei conta desse detalhe. Você são demais. Abraços. -
Impressão "justificada" matriz em C
Diego Starke respondeu ao tópico de Janderson Silva_736897 em C/C#/C++
%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. -
Por que meu float não imprime as casas decimais?
Diego Starke respondeu ao tópico de Kleber Lauton em C/C#/C++
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. -
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