Você está na página 1de 17

Universidade Estadual de Santa Cruz

Departamento de Ciências Exatas e Tecnológicas


Programação – Aprigio Bezerra

Vetores e Matrizes

1. Qual é o resultado do código abaixo?


#include <stdio.h>

int main(void) {
int vetor[5] = {2, 4, 6, 8, 10};

printf("%d", vetor[2]);

return 0;
}

2. Qual é a saída do código abaixo?


#include <stdio.h>

int main(void) {
int vetor[4] = {1, 2, 3, 4};

printf("%d", vetor[0] + 20);


printf("%d", vetor[0]);

return 0;
}

3. Qual é o resultado do código abaixo?


#include <stdio.h>

int main(void) {
int vetor[5] = {1, 2, 3, 4, 5};
int i, soma = 0;

for (i = 0; i < 5; i++) {


soma += vetor[i];
}

printf("%d", soma);
return 0;
}

1
4. Qual é a saída do código abaixo?
#include <stdio.h>

int main(void) {
int vetor[10];
int i;

for (i = 0; i < 10; i++) {


vetor[i] = i * 2;
}

printf("%d", vetor[7]);

return 0;
}

5. O que o código abaixo faz?


#include <stdio.h>

int main(void) {
int vetor[5] = {10, 20, 30, 40, 50};
int i;
printf(“Digite cinco números inteiros: \n”);
for (i = 0; i < 5; i++) {
scanf(“%d”, &vetor[i]);
}
for (i = 0; i < 5; i++) {
if (vetor[i] > 25) {
printf("%d ", vetor[i]);
}
}

return 0;
}

2
6. Qual é a saída do código abaixo e o que faz o programa?
#include <stdio.h>

int main(void) {
int vetor[5] = {1, 2, 3, 4, 5};
int i, soma = 0;

for (i = 0; i < 5; i++) {


if (i % 2 == 0) {
soma += vetor[i];
}
}

printf("%d", soma);
return 0;
}

7. Qual é a saída do código abaixo e o que faz o programa?


#include <stdio.h>

int main(void) {
int vetor[6] = {10, 21, 32, 43, 54, 65};
int i;

for (i = 0; i < 6; i++) {


if (vetor[i] % 2 == 1) {
printf("%d ", vetor[i]);
}
}
return 0;
}

8. Qual é a saída do código abaixo e o que faz o programa?


#include <stdio.h>

int main(void) {
int vetor[6] = {11, 22, 33, 44, 55, 66};
int i;

for (i = 0; i < 6; i++) {


if (i % 2 == 1) {
printf("%d ", vetor[i]);
}
}
return 0;
}

3
9. Escreva um programa que leia e mostre um vetor de 20 números. A seguir,
conte quantos valores pares existem no vetor.

#include <stdio.h>
#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int i, countPares = 0;

printf("Digite %d números:\n", TAMANHO_VETOR);

// Lendo os valores e armazenando no vetor


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

// Contando os valores pares


for (i = 0; i < TAMANHO_VETOR; i++) {
if (vetor[i] % 2 == 0) {
countPares++;
}
}

printf("Quantidade de valores pares: %d\n", countPares);

return 0;
}

10. Escreva um programa que leia 20 valores para um vetor de 20 posições.


Mostre depois somente os positivos.

#include <stdio.h>

#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int i;

printf("Digite %d valores:\n", TAMANHO_VETOR);

// Lendo os valores e armazenando no vetor


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

printf("Valores positivos:\n");

4
// Mostrando apenas os valores positivos
for (i = 0; i < TAMANHO_VETOR; i++) {
if (vetor[i] > 0) {
printf("%d ", vetor[i]);
}
}

printf("\n");

return 0;
}

11. Escreva um programa que leia um vetor inteiro de 20 posições e crie um


segundo vetor, substituindo os valores nulos por 1. Mostre os 2 vetores.

#include <stdio.h>

#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int segundoVetor[TAMANHO_VETOR];
int i;

printf("Digite %d valores:\n", TAMANHO_VETOR);

// Lendo os valores e armazenando no vetor


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

// Substituindo os valores nulos por 1 e armazenando no segundo vetor


for (i = 0; i < TAMANHO_VETOR; i++) {
if (vetor[i] == 0) {
segundoVetor[i] = 1;
} else {
segundoVetor[i] = vetor[i];
}
}

printf("Vetor original:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", vetor[i]);
}

printf("\n");

printf("Segundo vetor:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {

5
printf("%d ", segundoVetor[i]);
}

printf("\n");

return 0;
}

12. Faça um programa 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. Se o menor valor
encontrado for o mesmo em mais de um elemento, considere o primeiro
elemento encontrado.

#include <stdio.h>

#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int i, menor, posicao;

printf("Digite %d valores:\n", TAMANHO_VETOR);

// Lendo os valores e armazenando no vetor


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

// Encontrando o menor elemento e sua posição


menor = vetor[0];
posicao = 0;

for (i = 1; i < TAMANHO_VETOR; i++) {


if (vetor[i] < menor) {
menor = vetor[i];
posicao = i;
}
}

printf("O menor elemento de N é: %d e sua posição dentro do vetor é: %d\n",


menor, posicao);

return 0;
}

6
13. Crie um aplicativo em C que peça um número inicial ao usuário, uma
razão e calcule os 1000 primeiros termos de uma P.A (Progressão
Aritmética), armazenando esses valores em um vetor. O programa deve
imprimir os valores do vetor.

#include <stdio.h>

#define TAMANHO_PA 1000

int main(void) {
int vetor[TAMANHO_PA];
int numeroInicial, razao;
int i;

printf("Digite o número inicial da PA: ");


scanf("%d", &numeroInicial);

printf("Digite a razão da PA: ");


scanf("%d", &razao);

// Cálculo dos termos da PA e armazenamento no vetor


for (i = 0; i < TAMANHO_PA; i++) {
vetor[i] = numeroInicial + i * razao;
}

// Impressão dos valores do vetor


for (i = 0; i < TAMANHO_PA; i++) {
printf("%d ", vetor[i]);
}

printf("\n");

return 0;
}

14. Escreva um programa 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.

#include <stdio.h>

#define TAMANHO_VETOR 10

int main(void) {
int vetor1[TAMANHO_VETOR];
int vetor2[TAMANHO_VETOR];
int vetorResultado[TAMANHO_VETOR];
int i;

7
printf("Digite os valores do primeiro vetor:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor1[i]);
}

printf("Digite os valores do segundo vetor:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor2[i]);
}

// Multiplicação dos elementos de mesmo índice e armazenamento no vetor


resultado
for (i = 0; i < TAMANHO_VETOR; i++) {
vetorResultado[i] = vetor1[i] * vetor2[i];
}

printf("Vetor resultante:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", vetorResultado[i]);
}

printf("\n");

return 0;
}

15. Faça um programa que leia um vetor S[20] e uma variável VAR. A seguir,
mostre o produto da variável VAR por cada elemento do vetor.

#include <stdio.h>

#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int var;
int i;

printf("Digite os valores do vetor S:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

printf("Digite o valor da variável VAR: ");


scanf("%d", &var);

printf("Produto de VAR por cada elemento do vetor S:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", var * vetor[i]);

8
}

printf("\n");

return 0;
}

16. Escreva um programa 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.

#include <stdio.h>

#define TAMANHO_VETOR 10

int main(void) {
int vetor1[TAMANHO_VETOR];
int vetor2[TAMANHO_VETOR];
int vetorResultado[TAMANHO_VETOR];
int i;

printf("Digite os valores do primeiro vetor:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor1[i]);
}

printf("Digite os valores do segundo vetor:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor2[i]);
}

// Multiplicação dos elementos de mesmo índice e armazenamento no vetor


resultado
for (i = 0; i < TAMANHO_VETOR; i++) {
vetorResultado[i] = vetor1[i] * vetor2[i];
}

printf("Vetor resultante:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", vetorResultado[i]);
}

printf("\n");

return 0;
}

9
17. Escreva um programa que leia um vetor de 20 posições e mostre- o. 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.

#include <stdio.h>

#define TAMANHO_VETOR 20

int main(void) {
int vetor[TAMANHO_VETOR];
int i, temp;

printf("Digite os valores do vetor:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
scanf("%d", &vetor[i]);
}

printf("Vetor original:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", vetor[i]);
}

// Troca dos elementos


for (i = 0; i < TAMANHO_VETOR / 2; i++) {
temp = vetor[i];
vetor[i] = vetor[TAMANHO_VETOR - 1 - i];
vetor[TAMANHO_VETOR - 1 - i] = temp;
}

printf("\nNovo vetor:\n");
for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", vetor[i]);
}

printf("\n");

return 0;
}

18. Escreva um programa que leia um número inteiro A e uma matriz V [5][5]
de números. Conte e imprima quantos valores iguais a A estão na matriz.

#include <stdio.h>

#define LINHAS 5
#define COLUNAS 5

int main(void) {

10
int matriz[LINHAS][COLUNAS];
int numero, contador = 0;
int i, j;

printf("Digite um número inteiro: ");


scanf("%d", &numero);

printf("Digite os valores da matriz %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &matriz[i][j]);
}
}

// Contagem dos valores iguais a A na matriz


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
if (matriz[i][j] == numero) {
contador++;
}
}
}

printf("Quantidade de valores iguais a %d na matriz: %d\n", numero,


contador);

return 0;
}

19. Elaborar um programa que lê duas matrizes M[4][6] e N[4][6] e cria uma
matriz que seja: a) a soma de M com N; b) a diferença de M com N; Imprimir
as matrizes calculadas.

#include <stdio.h>

#define LINHAS 4
#define COLUNAS 6

int main(void) {
int M[LINHAS][COLUNAS];
int N[LINHAS][COLUNAS];
int soma[LINHAS][COLUNAS];
int diferenca[LINHAS][COLUNAS];
int i, j;

printf("Digite os valores da matriz M %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &M[i][j]);

11
}
}

printf("Digite os valores da matriz N %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &N[i][j]);
}
}

// Cálculo da soma de M com N


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
soma[i][j] = M[i][j] + N[i][j];
}
}

// Cálculo da diferença de M com N


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
diferenca[i][j] = M[i][j] - N[i][j];
}
}

printf("Matriz soma (M + N):\n");


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", soma[i][j]);
}
printf("\n");
}

printf("\nMatriz diferença (M - N):\n");


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", diferenca[i][j]);
}
printf("\n");
}

return 0;
}

12
20. Elaborar um programa que lê uma matriz M[6][6] e um valor A; multiplica
cada elemento da matriz M pelo valor A; coloca os valores da matriz
multiplicados por A em um vetor de V[36]; e imprime no final o vetor V.

#include <stdio.h>

#define LINHAS 6
#define COLUNAS 6
#define TAMANHO_VETOR 36

int main(void) {
int M[LINHAS][COLUNAS];
int V[TAMANHO_VETOR];
int A;
int i, j, k = 0;

printf("Digite os valores da matriz M %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &M[i][j]);
}
}

printf("Digite o valor de A: ");


scanf("%d", &A);

// Multiplicação dos elementos de M por A e armazenamento em V


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
V[k] = M[i][j] * A;
k++;
}
}

printf("Vetor V com os valores multiplicados por A:\n");


for (i = 0; i < TAMANHO_VETOR; i++) {
printf("%d ", V[i]);
}

printf("\n");

return 0;
}

13
21. Escreva um programa que lê uma matriz M[5][5] e calcula as somas: a) da
quarta linha de M b) da segunda coluna de M c) da diagonal principal d) da
diagonal secundária e) de todos os elementos da matriz M. Imprimir estas
somas e a matriz.

#include <stdio.h>

#define LINHAS 5
#define COLUNAS 5

int main(void) {
int M[LINHAS][COLUNAS];
int i, j;
int somaLinha4 = 0;
int somaColuna2 = 0;
int somaDiagonalPrincipal = 0;
int somaDiagonalSecundaria = 0;
int somaTotal = 0;

printf("Digite os valores da matriz M %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &M[i][j]);
}
}

printf("Matriz M:\n");
for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", M[i][j]);
}
printf("\n");
}

// Cálculo da soma da quarta linha


for (j = 0; j < COLUNAS; j++) {
somaLinha4 += M[3][j];
}

// Cálculo da soma da segunda coluna


for (i = 0; i < LINHAS; i++) {
somaColuna2 += M[i][1];
}

// Cálculo da soma da diagonal principal


for (i = 0; i < LINHAS; i++) {
somaDiagonalPrincipal += M[i][i];
}

14
// Cálculo da soma da diagonal secundária
for (i = 0; i < LINHAS; i++) {
somaDiagonalSecundaria += M[i][LINHAS - 1 - i];
}

// Cálculo da soma total


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
somaTotal += M[i][j];
}
}

printf("\nSomas:\n");
printf("a) Soma da quarta linha: %d\n", somaLinha4);
printf("b) Soma da segunda coluna: %d\n", somaColuna2);
printf("c) Soma da diagonal principal: %d\n", somaDiagonalPrincipal);
printf("d) Soma da diagonal secundária: %d\n",
somaDiagonalSecundaria);
printf("e) Soma de todos os elementos da matriz: %d\n", somaTotal);

return 0;
}

22. Escreva um programa que lê uma matriz M[5][5]. Substitua, a seguir, todos
os valores negativos da matriz pelo seu módulo. Exemplo: substitua -2 por
2, -16 por 16, assim por diante. Imprima a nova matraiz.
#include <stdio.h>
#include <stdlib.h> // necessário para a função abs()

#define LINHAS 5
#define COLUNAS 5

int main(void) {
int M[LINHAS][COLUNAS];
int i, j;

printf("Digite os valores da matriz M %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &M[i][j]);
}
}

printf("\nMatriz M original:\n");
for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", M[i][j]);
}
printf("\n");
}

// Substituição dos valores negativos pelo seu módulo


for (i = 0; i < LINHAS; i++) {

15
for (j = 0; j < COLUNAS; j++) {
if (M[i][j] < 0) {
M[i][j] = abs(M[i][j]); // Usando a função abs() para obter o valor absoluto
}
}
}

printf("\nNova matriz M com valores negativos substituídos pelo módulo:\n");


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", M[i][j]);
}
printf("\n");
}

return 0;
}

23. Escrever um programa que lê uma matriz M[5][5] e cria 2 vetores SL[5] e
SC[5] que contenham, respectivamente, as somas das linhas e das colunas
de M. Imprimir a matriz e os vetores criados.

#include <stdio.h>

#define LINHAS 5
#define COLUNAS 5

int main(void) {
int M[LINHAS][COLUNAS];
int SL[LINHAS];
int SC[COLUNAS];
int i, j;

printf("Digite os valores da matriz M %d x %d:\n", LINHAS, COLUNAS);


for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
scanf("%d", &M[i][j]);
}
}

printf("\nMatriz M:\n");
for (i = 0; i < LINHAS; i++) {
for (j = 0; j < COLUNAS; j++) {
printf("%d ", M[i][j]);
}
printf("\n");
}

// Cálculo das somas das linhas e armazenamento em SL


for (i = 0; i < LINHAS; i++) {
SL[i] = 0; // Inicializa a soma da linha i como zero
for (j = 0; j < COLUNAS; j++) {

16
SL[i] += M[i][j];
}
}

// Cálculo das somas das colunas e armazenamento em SC


for (j = 0; j < COLUNAS; j++) {
SC[j] = 0; // Inicializa a soma da coluna j como zero
for (i = 0; i < LINHAS; i++) {
SC[j] += M[i][j];
}
}

printf("\nVetor SL (somas das linhas):\n");


for (i = 0; i < LINHAS; i++) {
printf("%d ", SL[i]);
}

printf("\n\nVetor SC (somas das colunas):\n");


for (j = 0; j < COLUNAS; j++) {
printf("%d ", SC[j]);
}

printf("\n");

return 0;
}

17

Você também pode gostar