funky_vibes Posted December 19, 2006 at 12:18 PM Report #71344 Posted December 19, 2006 at 12:18 PM Necessito de fazer um programa em que tenho de introduzir 10 numeros para guardar num array, introduzidos pelo utilizador. depois o programa tem de dizer os que terminam por um numero introduzido pelo utilizador se por exemplo o utilizador introduz os numeros : 123,1453,1235,1235,5634,1232,3455.... o utilizador escolhe o numero '3' , ele vai mostrar os numeros : 123,1453. espero ter sido explicito. Agradeço a ajuda, o mais rapido possivel ! :bye2:
funky_vibes Posted December 19, 2006 at 12:35 PM Author Report #71348 Posted December 19, 2006 at 12:35 PM #include <stdio.h> main() { int num[10]; int i; printf("introduza 10 numeros: \n"); for (i=0; i<10 ; i++) { scanf("%d",&num[i]); } puts("Valores do Array"); for(i=0 ; i<10; i++) { printf("%d \n",num[i]); } getchar();getchar(); } sera melhor utilizar inteiros? ou caracteres? tenho duvidas!!! ajudem-me! que devo fazer para concluir o programa :bye2: :laugh: Obrigado
Hipnoted Posted December 19, 2006 at 12:38 PM Report #71350 Posted December 19, 2006 at 12:38 PM Se bem percebi só te falta ai um ciclo for: Les o numero (ex: numero). Depois é só acrescentar o seguinte for: for(i=0;i<numero;i++) { printf("%d \n",num[i]); } "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
funky_vibes Posted December 19, 2006 at 12:44 PM Author Report #71353 Posted December 19, 2006 at 12:44 PM mmm , nao creio que seja isso! axo eu , tipo tem de ter o ultimo caracter correspondente ao escolhido pelo utilizador. o utilizador mete os numeros na matriz, depois escolhe um numero : "4" o programa vai ver todos os numeros na matriz, em que o ultimo digito do numeros é o "4" por exemplo 124 , 14 .
Hipnoted Posted December 19, 2006 at 12:47 PM Report #71356 Posted December 19, 2006 at 12:47 PM Ah ok percebi mal... então é algo assim: scanf("%d", &numero); for(i=0;i<strlen(num);i++) { if((num[i] % 10) == numero){ printf("%d", num[i]); } } "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
funky_vibes Posted December 19, 2006 at 12:49 PM Author Report #71357 Posted December 19, 2006 at 12:49 PM mas isso serve para o ultimo digito dos numeros introduzidos na matriz? axo que nao , so faz uma comparaçao nao é?? ou estou enganado? :S
Hipnoted Posted December 19, 2006 at 01:04 PM Report #71361 Posted December 19, 2006 at 01:04 PM Sim, isto é: se o resto da divisão inteira de cada numero da matriz for igual ao numero que intyroiduziste imprime. Desculpa mas antes estava com pressa... E agora também... 😛 "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
funky_vibes Posted December 19, 2006 at 01:11 PM Author Report #71362 Posted December 19, 2006 at 01:11 PM bem , obrigado pela ajuda na mesma 😛 alguem pode ajudar?
funky_vibes Posted December 19, 2006 at 01:30 PM Author Report #71366 Posted December 19, 2006 at 01:30 PM tipo quero modificar uma coisa : a saida tem que apareçer quantos numeros no final tem , algo deste genero: matriz : -> 120 , 21 , 81 terminaçoes - quantos numeros existem na matriz com essa terminaçao 0 -> 1 1 -> 2
Hipnoted Posted December 19, 2006 at 01:44 PM Report #71368 Posted December 19, 2006 at 01:44 PM Opss... enganei-me no for. Não é de i até num mas sim de i até ao numero de posições do array. Já corrigi. 😛 "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
funky_vibes Posted December 19, 2006 at 01:49 PM Author Report #71369 Posted December 19, 2006 at 01:49 PM como assim?
Warrior Posted December 19, 2006 at 08:15 PM Report #71427 Posted December 19, 2006 at 08:15 PM Para saberes se um número termina num dado algarismo, basta-te comparar o resto da sua divisão por 10. 151 % 10 = 1 555 % 10 = 5 342 % 10 = 2 Logo, só tens de percorrer o vector e imprimir os que satisfazem a condição. Para formares o outro vector (o das terminações) podes ter um vector de 10 posições (0 a 9) onde vais incrementando sempre que encontrares um numero com essa terminação.
hermetico Posted December 19, 2006 at 10:22 PM Report #71453 Posted December 19, 2006 at 10:22 PM Um codigo possivel para fazer isso é: #include <stdio.h> #define MAX_ARRAY 10 int main (void) { int array[MAX_ARRAY +1]; int i, j, num, resultado; printf ("Introduzir 10 numeros (separados por espacos): "); for (i = 0; i < MAX_ARRAY; i++) scanf("%d", &array[i]); printf ("Introduza o numero: "); scanf("%d", &num); for (i = 0; i < MAX_ARRAY; i++) { resultado = array[i]; int j = 0; while (resultado > 10) { resultado = resultado % 10; j++; } if (resultado == num) printf("%d\n", array[i]); } }
hermetico Posted December 19, 2006 at 10:24 PM Report #71454 Posted December 19, 2006 at 10:24 PM Não ficou bem identado mas ainda não sei como escrever o codico aqui no forum...
Hipnoted Posted December 19, 2006 at 10:51 PM Report #71459 Posted December 19, 2006 at 10:51 PM Não ficou bem identado mas ainda não sei como escrever o codico aqui no forum... Podes usar o geSHi, situado nas ferramentas em cima. 👍 "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
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