Jump to content

[C] Ajuda - Duvida Array


Recommended Posts

Posted

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:

Posted
#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

Posted

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"

Posted

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 .

Posted

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"

Posted

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

Posted

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"

Posted

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

Posted

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"

Posted

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.

Posted

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

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"

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.