Total de visualizações de página

quinta-feira, 4 de julho de 2013

Programação - Vetores

Vamos solucionar alguns exercícios de programação, sendo o tema vetores:

Exercício: Faça um programa para criar dois vetores de 10 números inteiros, A e B. O programa deve preencher o vetor A com valores digitados pelo usuário. O vetor B deve ser preenchido da seguinte forma: os elementos de índice par são os correspondentes de A divididos por 2 e os elementos de índice ímpar são os correspondentes de A multiplicados por 3. Ao final, o programa deverá exibir os dois vetores (A e B).



/*Resposta*/

1º Passo: O cabeçalho:

#include<stdio.h>
#include<stdlib.h>

int main () {

system ("pause");
return 0;
}


2º Passo: Comecemos a resolver nosso problema, criamos dois vetores 'A' e 'B' que tem 10 números inteiros cada:

#include<stdio.h>
#include<stdlib.h>

int main () {

int A[10]; /*2º Passo*/
int B[10]; /*2º Passo*/

system ("pause");
return 0;
}


3º Passo: O vetor 'A' deve ser preenchido com valores digitados pelo usuário, por isso, podemos criar uma estrutura 'for' com 10 loops para que seja preenchido por números digitados pelo usuário, assim:

#include<stdio.h>
#include<stdlib.h>

int main () {

int A[10], i; /*3º Passo: colocamos a variável 'i', para os loops do for*/
int B[10];

for(i = 0; i < 10; i++){ /*3º Passo: Temos o for de 10 loops*/
printf ("Digite um numero  ");
scanf ("%d", &A[i]); /*3º Passo: Assim, no primeiro loop, temos i = 0, então em A[0] ficará com o primeiro valor, incrementa o 'i', ficaremos com i = 1, o usuário digita o segundo valor, e assim temos A[1], preenchemos a matriz 'A', até i = 9, e assim temos 10 valores para 'A'*/
}

system ("pause");
return 0;
}


4º Passo: O vetor 'B', deve ser preenchido da seguinte forma, os elementos de 'A' com índice par devem ser  divididos por 2, e os vetores de índice ímpar, multiplicados por 3. Dessa forma, vamos criar dois 'for', um para preencher os valores de 'B' pares, e o outro os ímpares. Vamos admitir que os índices comecem do 0 até o 9, assim, o primeiro 'for', para os pares, i = 0, inicialmente, i < 10, e i = i+2, assim o 'i' será incrementado em '2' ao invés de 1. Termos i = 0, incrementa, i = 2, incrementa, i = 4, assim, temos apenas os índices pares. Para o segundo 'for', temos i = 1, novamente incrementa em 2, para termos 1, 3, 5... os ímpares:

#include<stdio.h>
#include<stdlib.h>

int main () {
 
    int A[10], i;
    int B[10];
 
    for(i = 0; i < 10; i++){
    printf ("Digite um numero");
    scanf ("%i", &A[i]);
    }
    for(i = 0; i < 10; i = i+2){ /*4º Passo*/
    B[i] = A[i] / 2;  /*4º Passo: B[i] = A[i] dividido por 2, assim temos, o elemento B[0] = A[0] dividido por 2, como a questão pediu*/
    }
    for(i = 1; i < 10; i = i+2){ /*4º Passo*/
    B[i] = A[i] * 3;  /*4º Passo: Como foi pedido na questão, os elementos de B ímpares são iguais aos elementos ímpares de A, multiplicados por 3.*/
    }
    system ("pause");
    return 0;
    }

5º Passo: Por fim o programa pede para exibir os valores de A e B, criamos outro 'for', com 10 loops para exibir os valores de 'A' e 'B':

#include<stdio.h>
#include<stdlib.h>

int main () {
 
    int A[10], i;
    int B[10];
 
    for(i = 0; i < 10; i++){
    printf ("Digite um numero");
    scanf ("%i", &A[i]);
    }
    for(i = 0; i < 10; i = i+2){
    B[i] = A[i] / 2;
    }
    for(i = 1; i < 10; i = i+2){
    B[i] = A[i] * 3;
    }
    for(i = 0; i < 10; i++){ /*5º Passo*/
    printf ("%d\t", A[i]); /*5º Passo: Esse printf exibirá os valores de 'A', e ainda vai exibir um espaço através do '\t' que seria o mesmo que a tecla 'TAB' em um texto.*/
    printf ("%d\n", B[i]);/*5º Passo: Depois do 'TAB' será exibido os valores de 'B', assim irá aparecer um tipo de tabela, com valores 'A' na primeira coluna e 'B' na segunda coluna*/
    }
    system ("pause");
    return 0;
    }

Por fim, temos nosso programa final:



#include<stdio.h>
#include<stdlib.h>

int main () {
 
    int A[10], i;
    int B[10];
 
    for(i = 0; i < 10; i++){
    printf ("Digite um numero");
    scanf ("%i", &A[i]);
    }
    for(i = 0; i < 10; i = i+2){
    B[i] = A[i] / 2;
    }
    for(i = 1; i < 10; i = i+2){
    B[i] = A[i] * 3;
    }
    for(i = 0; i < 10; i++){
    printf ("%d\t", A[i]);
    printf ("%d\n", B[i]);
    }
    system ("pause");
    return 0;
    }



Nenhum comentário:

Postar um comentário