Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcio_Fatec

sobre programa com vetores

Recommended Posts

Olá. Tenho que resolver um execício de programação em C a seguir: , Criar um vetor "A"e um vetor "B" , com "n" elementos ( n< 30) e criar e exibir um vetor "C" que contenha a interseção dos dois primeiros. Já tentei resolver com o seguinte algoritmo:

#include <stdio.h> 
#define MAX 30 
int main(){ 
int a[MAX],b[MAX],c[MAX],i,n,j; 
printf ("Digite a Quantidade de numeros das matrizes "); 
scanf ("%d",&n); 
for (i=0;i<n;i++) 
{printf ("\nDigite o %d valor de A ",i+1); 
scanf ("%d",&a[i]);} 
for (i=0;i<n;i++) 
{printf ("\nDigite o %d valor de B ",i+1); 
scanf ("%d",&b[i]);} 
for (i=0;i<n;i++) 
{for (j=0;j<n;j++) 
{if (a[i]==b[j]) 
{c[i]=a[i];} 
}} 
for (i=0;i<n;i++) 
{printf ("\nOs valores de A sao %d\n",a[i]);} 
for (i=0;i<n;i++) 
{printf ("\nOs valores de B sao %d\n",b[i]);} 
for (i=0;i<n;i++) 
{printf ("\nOs valores de C sao %d\n",c[i]);} 
system ("pause"); 
}
Acontece que posições que não são preenchidas (ou seja, que não contém elementos da interseção) são preenchidos com lixo. Como faço? Onde estou errando? Alguém pode me ajudar? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Elas não são preenchidas com lixo. Elas já contêm lixo 'por padrão'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Defina para algum outro valor qualquer. 0 por exemplo.

Ou então crie dinamicamente seus vetores com malloc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não retira. São valores que ficaram na memória porque alguma outra coisa usou aquele bloco.

O problema de se colocar zero em array é que se você digitar 0,não sabe se é um numero fornecido ou não.

Deve valer mais a pena ler um numero como char e guardar o valor ascii no array quando for igual e colocar (int)'*' quando não for igual. A única encheção de saco é ficar convertendo. Mas isso só vale quando os números vao de 0 a 9. Nos outros casos é mais decente usar um array de strings.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.