• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

funky_vibes

[C] Ajuda - Duvida Array

15 mensagens neste tópico

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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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]);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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]);
   }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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]);
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não ficou bem identado mas ainda não sei como escrever o codico aqui no forum...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora