Você está na página 1de 3

Algoritmos c/ Vetores – LISTA 5 - RES

1. Faça um algoritmo que leia um vetor N[20]. A seguir, encontre o menor elemento do vetor N e a
sua posição dentro do vetor, mostrando: “O menor elemento de N é”, M, “e sua posição dentro
do vetor é:”,P.

#define TAM 10
main()
{ int N[TAM],I,MENOR,P;
printf("\n 1 valor = "); scanf("%d",&N[0]);
MENOR=N[0]; P= 0;
for( I = 1 ; I < TAM ; I++)
{ printf("\n %d valor = ",I+1); scanf("%d",&N[I]);
if (N[I] < MENOR)
{ MENOR=N[I]; P= I; }
}
printf("\n Menor valor = %d - Posicao = %d ",MENOR,P+1);
system("Pause");
}

2. Escreva um algoritmo que leia dois vetores de 10 posições e faça a multiplicação dos elementos
de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor resultante.

main()
{ int V1[10],V2[10],VR[10],I;

for( I = 0 ; I < 10 ; I++)


{ printf(“\n V1[%d] = “,I); scanf(“%d”,&V1[I]);
printf(“\n V2[%d] = “,I); scanf(“%d”,&V2[I]);
VR[I]= V1[I] * V2[I];
}
printf(“\n\n\n”);
for( I = 0 ; I < 10 ; I++)
printf("\n VR[%d] = %d", I,VR[I]);
system(“Pause”);
}

3. Faça um algoritmo que leia um vetor K[30]. Troque a seguir, todos os elementos de ordem ímpar
do vetor com os elementos de ordem par imediatamente posteriores.

main()
{ int K[30],I,AUX;

for( I = 0 ; I < 30 ; I++)


{ printf(“\n K[%d] = “,I); scanf(“%d”,&K[I]); }
for( I = 0 ; I < 29 ; I=I+2)
{ AUX =K[I]; K[I] = K[I+1]; K[I+1]= AUX ; }

printf(“\n\n\n”);
for( I = 0 ; I < 30 ; I++)
printf(“\n K[%d] = %d ”,I,K[I]);
system(“Pause”);
}
4. Faça um algoritmo que leia um vetor S[20] e uma variável A. A seguir, mostre o produto da
variável A pelo vetor.

main()
{ int S[20],I,A,PROD=0;

printf(“\n A = “,I); scanf(“%d”,&A);

for( I = 0 ; I < 20 ; I++)


{ printf(“\n S[%d] = “,I); scanf(“%d”,&S[I]);
PROD=PROD + ( A * S[I] );
}

printf(“\n\n\n”);
printf(“\n PRODUTO = %d ”,PROD);
system(“Pause”);
}

5. Escreva um algoritmo que leia um vetor de 100 posições de inteiros e mostre-o ordenado em
ordem crescente.

main()
{ int S[100],I,J,AUX;

for( I = 0 ; I < 100 ; I++)


{ printf(“\n S[%d] = “,I); scanf(“%d”,&S[I]); }
for( I = 0 ; I < 99 ; I++)
for( J = I+1 ; J < 100 ; J++)
if (S[I] > S[J])
{ AUX = S[I] ; S[I] = S[J]; S[J] = AUX; }
printf(“\n\n\n”);
for( I = 0 ; I < 100 ; I++)
printf(“\n S[%d] = %d “,I,S[I]);
system(“Pause”);
}

6. Escreva um algoritmo que leia um vetor de 20 posições em seguida, troque o primeiro elemento
com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e assim
sucessivamente. Mostre o novo vetor depois da troca.
main()
{ int K[20],I,J,AUX;

for( I = 0 ; I < 20 ; I++)


{ printf("\n K[%d] = ",I); scanf("%d",&K[I]); }

I=0; J= 19;
while( I < J)
{ AUX =K[I]; K[I] = K[J]; K[J]= AUX ; // TROCA
I++; J--;
}

printf("\n\n\n");
for( I = 0 ; I < 20 ; I++)
printf("\n K[%d] = %d",I,K[I]);
system("Pause");
}

7. Escreva um algoritmo que leia 50 valores para um vetor de 50 posições. Mostre depois somente
os positivos.
# define TAM 50
main()
{ int K[TAM],I,J,AUX;

for( I = 0 ; I < TAM ; I++)


{ printf("\n K[%d] = ",I); scanf("%d",&K[I]); }

printf("\n\n\n");
for( I = 0 ; I < TAM ; I++)
{ if (K[I] > 0 ) printf("\n K[%d] = %d",I,K[I]); }

system("Pause");
}

8. Escreva um algoritmo que leia um vetor inteiro de 30 posições e crie um segundo vetor,
substituindo os valores zeros por 1. Mostre os 2 vetores.

# define TAM 30
main()
{ int V1[TAM],V2[TAM],I;

for( I = 0 ; I < TAM ; I++)


{ printf("\n V1[%d] = ",I); scanf("%d",&V1[I]); }

printf("\n\n\n");
for( I = 0 ; I < TAM ; I++)
{ if (V1[I] == 0 ) V2[I] = 1;
else V2[I] = V1[I];
}
for( I = 0 ; I < TAM ; I++)
{ printf("\n V1[%d] = %d",I,V1[I]);
printf("\n V2[%d] = %d",I,V2[I]);
}

system("Pause");
}

9. Escreva um algoritmo que leia um vetor de 10 nomes e mostre-o ordenado em ordem alfabetica.

#define TAM 10
main()
{ char nome [TAM][30];
char aux[30];
int i,j;
for (i=0;i<TAM;i++)
{ printf ("\n\nDigite o %d nome : ",i+1); gets (nome[i]); }
for (i=0;i<TAM-1;i++)
for (j=i+1;j<TAM;j++)
{ if (strcmp(nome[i],nome[j]) > 0)
{ strcpy(aux,nome[i]); // troca
strcpy(nome[i],nome[j]);
strcpy(nome[j],aux);
}
}
printf ("\n\n\nOs nomes que voce digitou ordenados :\n\n");
for (i=0;i<TAM;i++)
printf ("%s\n",nome[i]);
system(“Pause”);
}
Eriovaldo C. Magalhães

Você também pode gostar