(2) Faça um programa que lê oito números inteiros e os armazena em um vetor, calcule e mostre dois vetores resultantes. O primeiro vetor resultante deve conter os números positivos; o segundo deve conter os números negativos. Cada vetor resultante vai ter, no máximo, oito posições, que poderão não ser completamente utilizadas.
Exemplo de entrada:
Digite 8 números inteiros: 1015 -2 7 21-6-4
Exemplo de saída:
Positivos: 1015721
Negativos: -2-6-4
Negativos: -2-6-4
Passo 1
Beleza, então o enunciado pede um programinha que leia 8 números inteiros, coloque todos eles num vetor (ou “array”) e, depois, crie dois vetores-filhos: um só com os positivos e outro só com os negativos. A matéria aqui é bem básica de lógica de programação: a gente vai usar
- vetores (arrays) para armazenar os números,
- um laço de repetição (loop) pra ler os 8 valores,
- uma estrutura condicional (if) pra decidir se um número é positivo ou negativo, e
- ao final, imprime os dois vetores resultantes.
Passo 2
Primeiro, vamos preparar dois vetores vazios com capacidade para 8 posições cada, digamos:
• vetorPositivos com espaço para 8 números
• vetorNegativos com espaço para 8 números
E também precisaremos de dois contadores,
• vetorPositivos com espaço para 8 números
• vetorNegativos com espaço para 8 números
E também precisaremos de dois contadores,
ip
e in
, para controlar em que posição a gente vai inserir no vetorPositivos e no vetorNegativos, respectivamente. Inicialmente, ip = 0
e in = 0
.Passo 3
Agora criamos um loop que vai de 1 até 8 (ou de 0 até 7, como preferir). A cada iteração:
- Leio o próximo número inteiro, chamo de
n
. - Uso a condicional:
ifentão
vetorPositivos[ip] = n
ip = ip + 1
else ifentão
vetorNegativos[in] = n
in = in + 1
else
// se for zero, a gente pode simplesmente ignorar, já que nem entra em positivos nem em negativos
Aqui usei em LaTeX a comparação
e
só pra ficar bonitinho.
Passo 4
Quando o loop terminar, os contadores
• “Positivos: ” seguido de todos os elementos de vetorPositivos desde a posição 0 até
• “Negativos: ” seguido de todos os elementos de vetorNegativos desde a posição 0 até
ip
e in
vão dizer quantos valores foram colocados em cada vetor. Basta imprimir:• “Positivos: ” seguido de todos os elementos de vetorPositivos desde a posição 0 até
ip–1
,• “Negativos: ” seguido de todos os elementos de vetorNegativos desde a posição 0 até
in–1
.No exemplo do enunciado, a saída não usa espaços entre os números, então a gente faz justamente uma concatenação direta.
Resposta
Para a entrada
Digite 8 números inteiros: 1015 -2 7 21 -6 -4
a saída vai ser:
Positivos: 1015721
Negativos: -2-6-4
Digite 8 números inteiros: 1015 -2 7 21 -6 -4
a saída vai ser:
Positivos: 1015721
Negativos: -2-6-4