Buscar

Lista Vetor e Matriz

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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; 
} 
3. 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; 
 
 
 
} 
 
 
4. Faça um algoritmo que leia um vetor de 500 posições de números inteiros e divida todos os seus 
elementos pelo maior valor do vetor. Mostre o vetor após os cálculos. 
#include <stdio.h> 
int main() { 
 int tam = 3, mn=0; 
 int vet[tam]; 
 for (int i = 1; i <= tam; i++) { 
 printf("Vet elemento %d:", i); 
 scanf("%d", &vet[i]); 
 if(vet[i]>mn){ 
 mn=vet[i]; 
 } 
 } 
 for (int i = 1; i <= tam; i++) { 
 vet[i]=vet[i]/mn; 
 } 
 for (int i = 1; i <= tam; i++) { 
 printf("%d ", vet[i]); 
 } 
 return 0; 
} 
5. Elaborar um algoritmo que le uma matriz M (6,6) e um valor para A (uma variável). Multiplicar a matriz 
M pelo valor A e coloca os valores da matriz multiplicados por A em um vetor de V(36) e escreva no 
final o vetor V. 
#include <stdio.h> 
int main() { 
 int tam = 3, a; 
 int m[tam][tam],vt[tam*tam]; 
 printf("Valor de A:"); 
 scanf("%d", &a); 
 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]); 
 m[i][j] = m[i][j] * a; 
 } 
 
 
 
 } 
 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; 
} 
 
 
 
6. 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[tam*tam]; 
 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 <= tam*tam; j++) { 
 printf("%d ", vt[j]); 
 } 
 return 0; 
} 
 
7. 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; 
} 
 
 
8. 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]; 
 
 
 
 } 
 
 printf("Vetor Vet1:\n"); 
 for (i = 0; i < 5; i++) { 
 printf("%d ", Vet1[i]); 
 } 
 
 printf("\nVetor Vet2:\n"); 
 for (i = 0; i < 5; i++) { 
 printf("%d ", Vet2[i]); 
 } 
 
 printf("\nVetor Vet (original):\n"); 
 for (i = 0; i < 10; i++) { 
 printf("%d ", Vet[i]); 
 } 
 
 return 0; 
} 
 
 
 
9. Faça um programa que lê um vetor de 3 elementos e uma matriz de 3 x 3 elementos. Em seguida o 
programa deve fazer a multiplicação do vetor pelas colunas da matriz. 
#include <stdio.h> 
 
int main() { 
 int vetor[3]; 
 int matriz[3][3]; 
 int resultado[3] = {0}; 
 
 printf("Digite os 3 elementos do vetor:\n"); 
 for (int i = 0; i < 3; i++) { 
 scanf("%d", &vetor[i]); 
 } 
 printf("Digite os elementos da matriz 3x3:\n"); 
 for (int i = 0; i < 3; i++) { 
 for (int j = 0; j < 3; j++) { 
 scanf("%d", &matriz[i][j]); 
 } 
 } 
 
 for (int j = 0; j < 3; j++) { 
 for (int i = 0; i < 3; i++) { 
 
 
 
 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; 
} 
 
 
10. 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;

Continue navegando