Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Lista Matriz e Vetor, Exercícios de Algoritmos e Programação

Exerciciso resolvidos de matriz e vetor

Tipologia: Exercícios

2023

Compartilhado em 03/10/2023

augusto-reis-22
augusto-reis-22 🇧🇷

1 documento

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
ALGORITIMOS E ESTRUTURA DE DADOS I
Exercício de Variáveis Compostas - Matriz e Vetor.
1º Desenvolva os algoritmos utilizando a estrutura mais apropriada:
1. Escreva um algoritmo que leia um vetor de 80 elementos inteiros. Encontre e mostre o menor elemento
e sua posição no vetor.
#include <stdio.h>
int main() {
int tam = 5;
int vet[tam];
for (int i = 1; i <= tam; i++) {
printf("%d elemento:",i);
scanf("%d", &vet[i]);
}
int mn=vet[1], pos=0;
for (int i = 1; i <= tam; i++) {
if(vet[i]<mn){
mn=vet[i];
pos=i;
}
}
printf("menor elemento %d na posicao %d \n", mn,pos);
return 0;
}
2. Escreva um algoritmo que leia um vetor inteiro de 30 posições e crie um segundo vetor, substituindo os
valores 0 por 1. Mostre os 2 vetores.
#include <stdio.h>
int main() {
int tam = 5;
int vet[tam], vet2[tam];
for (int i = 1; i <= tam; i++) {
printf("Vet1 %d elemento:", i);
scanf("%d", &vet[i]);
vet2[i] = vet[i];
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Lista Matriz e Vetor e outras Exercícios em PDF para Algoritmos e Programação, somente na Docsity!

ALGORITIMOS E ESTRUTURA DE DADOS I

Exercício de Variáveis Compostas - Matriz e Vetor. 1º Desenvolva os algoritmos utilizando a estrutura mais apropriada:

  1. Escreva um algoritmo que leia um vetor de 80 elementos inteiros. Encontre e mostre o menor elemento e sua posição no vetor. #include <stdio.h> int main() { int tam = 5; int vet[tam]; for (int i = 1; i <= tam; i++) { printf("%d elemento:",i); scanf("%d", &vet[i]); } int mn=vet[1], pos=0; for (int i = 1; i <= tam; i++) { if(vet[i]<mn){ mn=vet[i]; pos=i; } } printf("menor elemento %d na posicao %d \n", mn,pos); return 0; }
  2. Escreva um algoritmo que leia um vetor inteiro de 30 posições e crie um segundo vetor, substituindo os valores 0 por 1. Mostre os 2 vetores. #include <stdio.h> int main() { int tam = 5; int vet[tam], vet2[tam]; for (int i = 1; i <= tam; i++) { printf("Vet1 %d elemento:", i); scanf("%d", &vet[i]); vet2[i] = vet[i];

} for (int i = 1; i <= tam; i++) { if (vet2[i] == 0) { vet2[i] = 1; } } for (int i = 1; i <= tam; i++) { printf("1: %d - 2: %d \n", vet[i],vet2[i]); } return 0; }

  1. Faça um algoritmo que leia um código numérico inteiro e um vetor de 50 posições de números reais. Se o código for zero, termine o algoritmo. Se o código for 1, mostre o vetor na ordem direta. Se o código for 2, mostre o vetor na ordem inversa. #include <stdio.h> #include <stdlib.h> int main() { int tam = 3, cd; int vet[tam]; printf("Digite o codigo: "); scanf("%d", &cd); for (int i = 1; i <= tam; i++) { printf("Vet elemento %d:", i); scanf("%d", &vet[i]); } if (cd == 0) { exit(0); } else if (cd == 1) { for (int i = 1; i <= tam; i++) { printf("%d \n", vet[i]); } } else if (cd == 2) { for (int i = tam; i >= 1; i--) { printf("%d \n", vet[i]); } } return 0;

int ct= 1 ; for (int i = 1 ; i <= tam; i++) { for (int j = 1 ; j <= tam; j++) { vt[ct]= m[i][j]; ct++; } } for (int j = 1 ; j <= tam*tam; j++) { printf("%d ", vt[j]); } return 0 ; }

  1. Faça um programa que leia uma matriz 10x10 de inteiros. A seguir transforme-a em um vetor. #include <stdio.h> int main() { int tam = 3 ; int m[tam][tam],vt[tamtam]; for (int i = 1 ; i <= tam; i++) { for (int j = 1 ; j <= tam; j++) { printf("Coluna %d, linha %d:", i, j); scanf("%d", &m[i][j]); } } int ct= 1 ; for (int i = 1 ; i <= tam; i++) { for (int j = 1 ; j <= tam; j++) { vt[ct]= m[i][j]; ct++; } } for (int j = 1 ; j <= tamtam; j++) { printf("%d ", vt[j]); } return 0 ; }
  2. Desenvolver um programa que efetue a leitura de dez elementos de uma matriz A tipo vetor. Construir uma matriz B de mesmo tipo, acompanhando a seguinte lei de informação. Se o valor do índice for ímpar, o valor deverá ser multiplicado por 6; sendo par, deverá ser somado com 6. Ao final, mostrar os conteúdos das duas matrizes.

#include <stdio.h> int main() { int A[ 10 ], B[ 10 ]; int i; printf("Digite os 10 elementos da matriz A:\n"); for (i = 0 ; i < 10 ; i++) { scanf("%d", &A[i]); } for (i = 0 ; i < 10 ; i++) { if (i % 2 == 0 ) { B[i] = A[i] + 6 ; } else { B[i] = A[i] * 6 ; } } printf("Matriz A:\n"); for (i = 0 ; i < 10 ; i++) { printf("%d ", A[i]); } printf("\nMatriz B:\n"); for (i = 0 ; i < 10 ; i++) { printf("%d ", B[i]); } return 0 ; }

  1. Desenvolva um programa que leia um vetor Vet de 10 posições e divida-o em dois de 5 posições. Ao final escreva todos os vetores. #include <stdio.h> int main() { int Vet[ 10 ]; int Vet1[ 5 ], Vet2[ 5 ]; int i; printf("Digite os 10 elementos do vetor Vet:\n"); for (i = 0 ; i < 10 ; i++) { scanf("%d", &Vet[i]); } for (i = 0 ; i < 5 ; i++) { Vet1[i] = Vet[i]; Vet2[i] = Vet[i + 5 ];

resultado[j] += vetor[i] * matriz[i][j]; } } printf("Resultado da multiplicação:\n"); for (int i = 0 ; i < 3 ; i++) { printf("%d ", resultado[i]); } return 0 ; }

  1. Fazer um algoritmo que leia os valores de duas matrizes 3×3 e imprima a multiplicação das duas matrizes. #include <stdio.h> int main() { int matriz1[ 3 ][ 3 ]; int matriz2[ 3 ][ 3 ]; int resultado[ 3 ][ 3 ] = { 0 }; printf("Digite os elementos da primeira matriz 3x3:\n"); for (int i = 0 ; i < 3 ; i++) { for (int j = 0 ; j < 3 ; j++) { scanf("%d", &matriz1[i][j]); } } printf("Digite os elementos da segunda matriz 3x3:\n"); for (int i = 0 ; i < 3 ; i++) { for (int j = 0 ; j < 3 ; j++) { scanf("%d", &matriz2[i][j]); } } for (int i = 0 ; i < 3 ; i++) { for (int j = 0 ; j < 3 ; j++) { for (int k = 0 ; k < 3 ; k++) { resultado[i][j] += matriz1[i][k] * matriz2[k][j]; } } } printf("Resultado da multiplicação das duas matrizes 3x3:\n"); for (int i = 0 ; i < 3 ; i++) {

for (int j = 0 ; j < 3 ; j++) { printf("%d ", resultado[i][j]); } printf("\n"); } return 0 ; } Obs:  Procure desenvolver o máximo;  Evite copiar do colega;