A. Pedro Postado Dezembro 5, 2008 Denunciar Share Postado Dezembro 5, 2008 Olá galera, mais uma ajuda que para vocês é simples.queria escrever um código em c que ao digitar por exemplo:4477754221 ele escrevesse:243754221isto é escrever os numeros sem repetir e as vezes que é repetido.não sei como começar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 5, 2008 Denunciar Share Postado Dezembro 5, 2008 armazene num vetor (array) os números digitados. A cada inserção no array, verifique se o número já está presente nele. Se não estiver, insira-o.Depois é só imprimir o vetor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 A. Pedro Postado Dezembro 6, 2008 Autor Denunciar Share Postado Dezembro 6, 2008 como assim, me explique melhor, ainda sou novato nisto! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 6, 2008 Denunciar Share Postado Dezembro 6, 2008 /** * retorna 1 se o número existe no vetor. Senão retorna 0 */ int existe_indice(int numero, int *vetor) { loop que percorre todo o vetor em busca de numero. se um índice do vetor for igual a numero, retorna 1 e párqa o loop (break) } int main() { int *numeros; num <- lê numero if (existe_indice(num, vetor) == 0) // adiciona numero a vetor imprime vetor return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 A. Pedro Postado Dezembro 9, 2008 Autor Denunciar Share Postado Dezembro 9, 2008 me desculpe mas não consigo fazer o código.me ajude... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 9, 2008 Denunciar Share Postado Dezembro 9, 2008 Se não tentar, não conseguirá, mesmo.Tente fazer. Só assim descobrirá onde tem dificuldade.Sabe como ler dados da entrada padrão e colocá-los num vetor? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 A. Pedro Postado Dezembro 9, 2008 Autor Denunciar Share Postado Dezembro 9, 2008 estou a tentar modificar este código...#include <stdio.h> #include <stdlib.h> int main () { int input,n; int count=0; int * numbers = NULL; do { printf ("Enter an integer value (0 to end): "); scanf ("%d", &input); count++; numbers = (int*) realloc (numbers, count * sizeof(int)); if (numbers==NULL) { puts ("Error (re)allocating memory"); exit (1); } numbers[count-1]=input; } while (input!=0); printf ("Numbers entered: "); for (n=0;n<count;n++) for(n=0;n<(count-1);n++){ for(count=n+1;n<count;n++){ if(count == n) { printf ("%d ",numbers[n]); system("PAUSE >= nul"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 9, 2008 Denunciar Share Postado Dezembro 9, 2008 por que esses trÊs loops for?Você está criando um vetor unidimensional. Basta um único loop.O que você tem que fazer é, antes de inserir no vetor numbers, verificar so o número já não existe nesse vetor. Para isso, percorra o vetor com um loop e compare elemento por elemento. Ainda não entendi em qual parte você está com dificuldade. Sabe como percorrer um vetor? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 A. Pedro Postado Dezembro 10, 2008 Autor Denunciar Share Postado Dezembro 10, 2008 oi, obrigado pela paciência.estou com dificuldade em tudo,não, não sei percorrer um vetor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 10, 2008 Denunciar Share Postado Dezembro 10, 2008 Acho melhor você, primeiro, estudar um pouco sobre vetores. Como ler um vetor, principalmente. Se eu mostrar com código, estarei simplesmente fazendo o exercício para você, e você não aprenderá.Veja:http://www.google.com/search?ie=UTF-8&...amp;q=vetores+cConsiderando o vetor:int vet[10];Existem os índices:vet[0]vet[1]...vet[9]Os índices começam em zero e vão até (N - 1), onde N é o número de elementos do vetorPara percorrer um vetor assim, usa-se um loop de 0 a 9for (i = 0; i < 10; i++) { printf("%d\n", vet[i]); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 A. Pedro Postado Dezembro 10, 2008 Autor Denunciar Share Postado Dezembro 10, 2008 oi novamente,porque razão aparecem os 6 "0" neste código?#include <stdio.h> #define MAX 100 int main() { int n, /* numero de elementos da sequencia */ i, j, comp, /* comprimento corrente do vetor seq */ conta, vezes; float seq[MAX]; system ("chcp 1252"); printf("\nQuantos múmeros quer escrever?: "); scanf("%d", &n); printf("Digite então %d numeros reais com espaço entre eles: ", n); for (i = 0; i < n; i++) scanf("%f", &seq[i]); for (i = 0; i < n; i++) { /* conta o numero de vezes que seq[i] aparece no vetor a partir da posição i */ vezes = 1; j = i + 1; while (j < n) if (seq[j] != seq[i]) j++; else { vezes++; /* quando repete, remove */ n--; seq[j] = seq[n]; } printf("%f%d",seq[i], vezes); } system("PAUSE >= nul"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 11, 2008 Denunciar Share Postado Dezembro 11, 2008 isso ocorre pois você não especificou a precisão do floatfaça assim:printf("%.0f%d",seq[i], vezes); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
A. Pedro
Olá galera, mais uma ajuda que para vocês é simples.
queria escrever um código em c que ao digitar por exemplo:
4477754221 ele escrevesse:
243754221
isto é escrever os numeros sem repetir e as vezes que é repetido.
não sei como começar?
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.