SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Instituto Federal de Educação, Ciência e Tecnologia da Bahia – Campus Irecê
Disciplina: Algoritmos II
Prof
o
Leandro Souza
NOTA_____
EXERCÍCIOS – VETOR E MATRIZ
1. Leia um vetor de 12 posições e em seguida ler também dois valores X e Y quaisquer
correspondentes a duas posições no vetor. Ao final seu programa deverá escrever a soma
dos valores encontrados nas respectivas posições X e Y.
#include <stdio.h>
#include <conio.c>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
main (){
int vetor12[12];
int valor1=0,valor2=0,somaValor=0;
clrscr();
cout << "O Vetor[12] foi preenchido RANDOMICAMENTE" << endl << endl;
for (int i=0;i<12;i++)
{
vetor12[i] = rand()%100;
cout << "Vetor12 " << i << " = " << vetor12[i] << endl;
}
cout << endl << endl;
gotoxy(20,9);cout << "Somar 2 valores de 2 indices: " << endl << endl;
gotoxy(20,10);cout << "Qual indice 1? ";
cin >> valor1;
gotoxy(20,11);cout << "Qual indice 2? ";
cin >> valor2;
somaValor = vetor12[valor1] + vetor12[valor2];
cout << endl << endl << endl;
gotoxy(20,12);cout << "A soma de " << vetor12[valor1] << " + " << vetor12[valor2]
<< " = " << somaValor;
getch();
}
------------------------------------------------------------------------------------------------------------------------
2. Declare um vetor de 10 posições e o preencha com os 10 primeiros números impares e o
escreva.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int vetor10[10]={1,3,5,7,9,11,13,15,17,19};
cout << "O Vetor[10] com numeros impares" << endl << endl;
for (int i=0;i<10;i++)
{
cout << "Vetor10 " << i << " = " << vetor10[i] << endl;
}
getch();
}
------------------------------------------------------------------------------------------------------------------------
3. Leia um vetor de 16 posições e troque os 8 primeiros valores pelos 8 últimos e
vice-e-versa. Escreva ao final o vetor obtido.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int vetor16[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int vetor8A[8];
cout << endl << endl << endl;
cout << "CONTEUDO DO VETOR" << endl;
for (int i=0;i<16;i++){
cout << vetor16[i] << " ";
}
for(int i = 0; i < 8; ++i)
{
vetor8A[i] = vetor16[i+8];
vetor16[i+8] = vetor16[i];
vetor16[i] = vetor8A[i];
}
cout << endl << endl << endl;
cout << "Vetor Invertido: " << endl;
for(int i = 0;i<16;++i)
{
cout << vetor16[i] << " ";
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
4. Leia um vetor de 20 posições e em seguida um valor X qualquer. Seu programa devera
fazer uma busca do valor de X no vetor lido e informar a posição em que foi encontrado
ou se não foi encontrado.
#include <stdio.h>
#include <conio.c>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
main (){
int vetor20[20];
int valor1;
clrscr();
cout << "O Vetor[20] foi preenchido RANDOMICAMENTE" << endl << endl;
for (int i=0;i<20;i++)
{
vetor20[i] = rand()%100;
cout << "Id: " << i << " Numero: " << vetor20[i] << endl;
}
cout << endl << endl;
gotoxy(35,15);cout << "Qual o valor a pesquisar ";
cin >> valor1;
for (int i=0;i<20;i++)
{
if(vetor20[i] == valor1)
{
cout << "Id " << i << "t -> Tem o valor pesquisado: " << endl;
}
else
{
cout << "Id " << i << "t -> Valor NAO encontrado " << endl;
}
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
5. Leia um vetor de 40 posições. Contar e escrever quantos valores pares ele possui.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int vetor40[40];
int contaPares=0;
// preenchendo e exibindo o vetor
cout << "VETOR DE 40 POSICOES " << endl;
for (int i=0;i<40;i++){
vetor40[i] = rand()%100;
cout << vetor40[i] << " " ;
if(vetor40[i] %2 == 0)
contaPares++;
}
cout << endl << endl;
cout << "Tem " << contaPares << " PARES no Vetor" << endl;
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
6. Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior valor.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
/*
Leia uma matriz 10 x 10 e escreva a localização
(linha e a coluna) do maior valor.
*/
main (){
int matriz10x10[10][10];
int maiorValor=0,i,j;
// digitando a matriz
for (i=0;i<10;i++){
for (j=0;j<10;j++){
cout << i << " e " << j << " ";
cin >> matriz10x10[i][j];
if (matriz10x10[i][j] > maiorValor)
{
maiorValor = matriz10x10[i][j];
}
}
}
cout << endl;
// exibindo o resultado na tela
cout << "Matriz 10 x 10" << endl;
for (i=0;i<10;i++){
for ( j=0;j<10;j++){
if(maiorValor == matriz10x10[i][j])
{
cout << "Maior valor: " << maiorValor << endl;
cout << "Na linha: " << i << " e na Coluna: " << j << " " ;
}
cout << endl;
}
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
7. Declare uma matriz 5 x 5. Preencha com 1 a diagonal principal e com 0 os demais
elementos. Escreva ao final a matriz obtida.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int matriz5x5[5][5],i,j;
// digitando a matriz
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if(i == j)
{
matriz5x5[i][j]=1;
}
else
{
matriz5x5[i][j]=0;
}
}
}
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
cout << matriz5x5[i][j] << " ";
}
cout << endl;
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
8. Leia uma matriz 4 x 4 e troque os valores da 1ª.linha pelos da 4ª.coluna, vice-e-versa.
Escrever ao final a matriz obtida
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int matriz4x4[4][4];
int matrizAux,i,j;
cout << " DIGITANDO " << endl;
for (i=0;i<4;i++){
for (j=0;j<4;j++){
cout << "Valor " << i << " " << " " << j << " ";
cin >> matriz4x4[i][j];
}
}
// exibindo a matriz
cout << endl << endl;
cout << " MATRIZ 4X4 " << endl;
for (i=0;i<4;i++){
for (j=0;j<4;j++){
cout << matriz4x4[i][j] << " ";
}
cout << endl;
}
// trocando a linha 1 com a coluna 4
for (i=0;i<4;i++){
for (j=0;j<4;j++){
if (i == 0)
matrizAux = matriz4x4[i][j];
matriz4x4[i][j] = matriz4x4[i][3];
matriz4x4[i][3] = matrizAux;
}
cout << endl;
}
cout << endl;
cout << " MATRIZ TROCADA " << endl;
for (i=0;i<4;i++){
for (j=0;j<4;j++){
cout << matriz4x4[i][j] << " ";
}
cout << endl;
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
9. Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo zero a
todos os elementos acima da diagonal principal, escrevendo-a ao final.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int matriz8x8[8][8],i,j;
for (i=0;i<8;i++){
for (j=0;j<8;j++){
matriz8x8[i][j] = 1+rand()%6;
}
}
cout << " MINHA MATRIZ " << endl;
for (i=0;i<8;i++){
for (j=0;j<8;j++){
cout << matriz8x8[i][j] << " ";
}
cout << endl;
}
// inserindo zero na diagonal superior
// a coluna j é o valor de i+1
// linha 0+1, linha 0+2, linha 0+3, ... linha 0+7
for (i=0;i<8;i++){
for (j=(i+1); j<8; j++){
matriz8x8[i][j] = 0;
}
}
cout << " MATRIZ SUPERIOR " << endl;
for (i=0;i<8;i++){
for (j=0;j<8;j++){
cout << matriz8x8[i][j] << " ";
}
cout << endl;
}
getch();
}:
-------------------------------------------------------------------------------------------------------------------------------
10. Leia uma matriz 5 x 5 e faça uma troca entre as diagonais superior e inferior. Escreva-a ao
final.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main( ){
int matriz5x5[5][5];
int matriz2[5][5];
int vetDiag1[5];
int vetDiag2[5]={0};
int i, j;
// criando a matriz randomicamente
cout << "Matriz inicial " << endl;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
matriz5x5[i][j]= i+j;
cout << matriz5x5[i][j] << " ";
}
cout << endl;
}
// primeira diagonal
cout << endl << endl;
cout << "Diagonal 1" << endl << endl;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
if(i==j){
vetDiag1[i] = matriz5x5[i][j];
cout << vetDiag1[i] << " ";
}
}
}
//// segunda diagonal
cout << endl << endl;
cout << "Diagonal 2" << endl << endl;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
if(i+j==5){
vetDiag2[i] = matriz5x5[i][j];
cout << vetDiag2[i] << " ";
}
}
}
// trocando as diagonais
for(i=0;i<5;i++){
for(j=0;j<5;j++){
if(i==j){
matriz5x5[i][j]=vetDiag2[i];
}
if(i+j==5){
matriz5x5[i][j]=vetDiag1[i];
}
}
}
// exibindo a matriz
cout << endl << endl;
cout << " Diagonais trocadas " << endl << endl;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
cout << matriz5x5[i][j] << " ";
}
cout << endl;
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
11. Considere uma matriz de distância entre cidades 6 x 6:
1.(Irecê) 2.(Uibaí) 3.(Salvador) 4.(Lapão) 5.(Canarana) 6.(Alagoinhas)
1.(Irecê) 63 210 190 190
2.(Uibaí) 63 160 150 95
3.(Salvador) 210 160 10
4.(Lapão) 190 150 10
5.(Canarana) 95 80
6.(Alagoinhas) 190 80
Considere também um vetor de viagem indo de Salvador até Irecê pela seguinte
rota:
Indice 1 2 3 4 5 6
Cidade 3 4 2 5 6 1
Faça um programa que leia a matriz e o vetor e calcule a distancia percorrida durante a
viagem.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
int
distancias6x6[6][6]={0,63,210,190,0,190,63,0,160,150,95,0,210,160,0,10,0,0,190,150,10,0,0,0,0,95,0,0,0,80,190,0,0
,0,80,0};
int cidades[6]={3,4,2,5,6,1};
int contaDistancia=0,somaValores=0,origem=0,destino=0;
int i,j;
main (){
// exibe tabela DISTANCIA
cout << endl;
cout << "Tabela das Distancias" << endl;
for (i=0;i<6;i++){
for (j=0;j<6;j++){
cout << right << distancias6x6[i][j] << "t";
}
cout << endl;
}
cout << endl;
// exibe tabelas das CIDADES
cout << "Tabela das cidades" << endl;
for (i=0;i<6;i++){
cout << cidades[i] << "t";
}
// contando a distância
cout << endl;
for (i=0;i<6;i++){
if (cidades[i] == distancias6x6[i][j]);
somaValores = somaValores + distancias6x6[i][j];
}
cout << "nDistancia da Viagem: " << somaValores;
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
12. Uma escola municipal de Irecê deseja fazer um programa que armazene uma lista de
alunos e sua média final. Faça um programa que armazene uma lista de nomes de 10
alunos e suas respectivas médias. Ao final o programa deverá informar ao usuário a lista
de nome, as notas. Além destas informações, o sistema deverá informar se o aluno está
aprovado (média maior ou igual a 6,0) recuperação (média entre 4,0 e 6,0) e reprovado
(media menor que 4,0).
Exemplo:
Nome Média Situação
Carlos Souza 5,0 Recuperação
José Nascimento 3,0 Reprovado
Pedro Luís 7,0 Aprovado
Maria Silva 8,9 Aprovado
Vania Oliveira 2,5 Reprovado
Leonardo Cavalcante 6,0 Aprovado
..... ........... ..........
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
string nomes[5];
float medias[5];
string resultado[5];
int i,j;
for (i=0;i<10;i++)
{
cout << "Aluno: " << i << " : ";
cin >>(nomes[i]);
cout << "Media: " << i << " : ";
cin >> (medias[i]);
if (medias[i] >= 6)
{
resultado[i]="APROVADO";
}
if (medias[i] >=4 && medias[i] < 6)
{
resultado[i]="RECUPERACAO";
}
if (medias[i] < 4)
{
resultado[i]="REPROVADO";
}
}
cout << "NOME tt MEDIA t RESULTADO" << endl;
for (i=0;i<5;i++){
cout << nomes[i] << "t t" << medias[i] << "t" << resultado[i] << endl;
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------
13. Escreva um que leia um vetor G de 20 elementos caracter que representa o gabarito de
uma prova. A seguir, para cada um dos 10 alunos da turma, leia o vetor de respostas (R)
do aluno e conte o número de acertos. Mostre o nº de acertos do aluno e uma mensagem
APROVADO, se a nota for maior ou igual a 6; e mostre uma mensagem de
REPROVADO, caso contrário.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){ //
// char vetorG[20] = {'0','1','2','3','4','5','6','7','8','9','0','1','2','3','4','5','6','7','8','9'};
char vetorG[20] = {'a','c','d','b','e','d','a','c','d','b','a','e','c','c','d','e','a','a','b','b'};
int i;
char nomes[10];
char resposta[20];
int contaAcerto=0;
for (i=0;i<10;i++){
cout << "Aluno: ";
cin >> nomes;
for (int i=0;i<20;i++)
{
cout << "Questao: " << i << " ";
cin >> resposta[i];
if(resposta[i] == vetorG[i])
{
contaAcerto++;
} // fim do if
} // fim do for interno
cout << "Acertou: " << contaAcerto << endl;
if (contaAcerto >= 6)
{
cout << "APROVADO" << endl;
}else {
cout << "REPROVADO" << endl;
}
} // fim do for externo
getch();
} // fim do main()
-------------------------------------------------------------------------------------------------------------------------------
14. Faça um algoritmo que gere a seguinte matriz:
1 3 3 3 3 2
3 1 3 3 2 3
3 3 1 2 3 3
3 3 2 1 3 3
3 2 3 3 1 3
2 3 3 3 3 1
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <conio.c>
#include <iostream>
#include <windows.h>
using namespace std;
main (){
int matrizFeita[6][6] = {1,3,3,3,3,2,3,1,3,3,2,3,3,3,1,2,3,3,3,3,2,1,3,3,3,2,3,3,1,3,2,3,3,3,3,1};
int x=10,y=10;
for (int i=0;i<6;i++){
for (int j=0;j<6;j++){
cout << matrizFeita[i][j];
}
cout << endl;
}
getch();
}
-------------------------------------------------------------------------------------------------------------------------------:
OBSERVAÇÃO:
• A lista é INDIVIDUAL.
• A lista deverá ser entregue através do ambiente!
• NÃO será aceita lista fora do prazo!
• Caso seja entregue programas iguais ou copiados da internet a questão será anulada.
• Lembre, você poderá ser um dos convidados a descrever seu código durante a primeira aula após a entrega da lista.
DATA LIMITE DE ENTREGA:15/11/12 23h55min

Mais conteúdo relacionado

Mais procurados

Mais procurados (13)

Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e Lógicos
 
Desenho senai
Desenho senaiDesenho senai
Desenho senai
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
Perspectiva com dois pontos de fuga PDF
Perspectiva com dois pontos de fuga PDFPerspectiva com dois pontos de fuga PDF
Perspectiva com dois pontos de fuga PDF
 
Apresentação normas abnt desenho técnico
Apresentação normas abnt desenho técnicoApresentação normas abnt desenho técnico
Apresentação normas abnt desenho técnico
 
Aula 14 épura e ponto
Aula 14   épura e pontoAula 14   épura e ponto
Aula 14 épura e ponto
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
A doua venire a Domnului Iisus Hristos - Antichrist şi fiara apocaliptică
A doua venire a Domnului Iisus Hristos - Antichrist şi fiara apocalipticăA doua venire a Domnului Iisus Hristos - Antichrist şi fiara apocaliptică
A doua venire a Domnului Iisus Hristos - Antichrist şi fiara apocaliptică
 
Høydekonferansen 2014 - Sikker Jobb Analysens plass i Internkontrollforskrift...
Høydekonferansen 2014 - Sikker Jobb Analysens plass i Internkontrollforskrift...Høydekonferansen 2014 - Sikker Jobb Analysens plass i Internkontrollforskrift...
Høydekonferansen 2014 - Sikker Jobb Analysens plass i Internkontrollforskrift...
 
Introdução ao Desenho Técnico (Apostila)
Introdução ao Desenho Técnico (Apostila)Introdução ao Desenho Técnico (Apostila)
Introdução ao Desenho Técnico (Apostila)
 
Apostila De Desenho Geometrico
Apostila De Desenho GeometricoApostila De Desenho Geometrico
Apostila De Desenho Geometrico
 
Tutorial exel
Tutorial exel Tutorial exel
Tutorial exel
 
Model 15, bac
Model 15, bacModel 15, bac
Model 15, bac
 

Semelhante a 113856859 exercicios-vetor-e-matriz

Programação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código FonteProgramação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código Fontethomasdacosta
 
Programação Estruturada 2 - Aula 03 - Código Fonte
Programação Estruturada 2 - Aula 03 - Código FonteProgramação Estruturada 2 - Aula 03 - Código Fonte
Programação Estruturada 2 - Aula 03 - Código Fontethomasdacosta
 
Programação Funcional (para humanos)
Programação Funcional (para humanos)Programação Funcional (para humanos)
Programação Funcional (para humanos)Pedro Castilho
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesElaine Cecília Gatto
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlLocaweb
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01thomasdacosta
 
2 funcoes e estrutura de blocos
2   funcoes e estrutura de blocos2   funcoes e estrutura de blocos
2 funcoes e estrutura de blocosRicardo Bolanho
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando CVinícius Hax
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayDilan Nery Lopes
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 
Refatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaRefatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaEduardo Bregaida
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasdiogoa21
 

Semelhante a 113856859 exercicios-vetor-e-matriz (20)

Programação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código FonteProgramação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código Fonte
 
Programação Estruturada 2 - Aula 03 - Código Fonte
Programação Estruturada 2 - Aula 03 - Código FonteProgramação Estruturada 2 - Aula 03 - Código Fonte
Programação Estruturada 2 - Aula 03 - Código Fonte
 
Programação Funcional (para humanos)
Programação Funcional (para humanos)Programação Funcional (para humanos)
Programação Funcional (para humanos)
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sql
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
apostila C++
apostila C++apostila C++
apostila C++
 
2 funcoes e estrutura de blocos
2   funcoes e estrutura de blocos2   funcoes e estrutura de blocos
2 funcoes e estrutura de blocos
 
MRO predict
MRO predictMRO predict
MRO predict
 
Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
 
VetoresMatrizes.pdf
VetoresMatrizes.pdfVetoresMatrizes.pdf
VetoresMatrizes.pdf
 
Java4
Java4Java4
Java4
 
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 14 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDay
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Sobrecarga operadores
Sobrecarga operadoresSobrecarga operadores
Sobrecarga operadores
 
Refatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completaRefatoração de código com Capitão Nascimento versão completa
Refatoração de código com Capitão Nascimento versão completa
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 

113856859 exercicios-vetor-e-matriz

  • 1. Instituto Federal de Educação, Ciência e Tecnologia da Bahia – Campus Irecê Disciplina: Algoritmos II Prof o Leandro Souza NOTA_____ EXERCÍCIOS – VETOR E MATRIZ 1. Leia um vetor de 12 posições e em seguida ler também dois valores X e Y quaisquer correspondentes a duas posições no vetor. Ao final seu programa deverá escrever a soma dos valores encontrados nas respectivas posições X e Y. #include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main (){ int vetor12[12]; int valor1=0,valor2=0,somaValor=0; clrscr(); cout << "O Vetor[12] foi preenchido RANDOMICAMENTE" << endl << endl; for (int i=0;i<12;i++) { vetor12[i] = rand()%100; cout << "Vetor12 " << i << " = " << vetor12[i] << endl; } cout << endl << endl; gotoxy(20,9);cout << "Somar 2 valores de 2 indices: " << endl << endl; gotoxy(20,10);cout << "Qual indice 1? "; cin >> valor1; gotoxy(20,11);cout << "Qual indice 2? "; cin >> valor2; somaValor = vetor12[valor1] + vetor12[valor2]; cout << endl << endl << endl; gotoxy(20,12);cout << "A soma de " << vetor12[valor1] << " + " << vetor12[valor2] << " = " << somaValor; getch(); } ------------------------------------------------------------------------------------------------------------------------ 2. Declare um vetor de 10 posições e o preencha com os 10 primeiros números impares e o escreva.
  • 2. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int vetor10[10]={1,3,5,7,9,11,13,15,17,19}; cout << "O Vetor[10] com numeros impares" << endl << endl; for (int i=0;i<10;i++) { cout << "Vetor10 " << i << " = " << vetor10[i] << endl; } getch(); } ------------------------------------------------------------------------------------------------------------------------ 3. Leia um vetor de 16 posições e troque os 8 primeiros valores pelos 8 últimos e vice-e-versa. Escreva ao final o vetor obtido. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int vetor16[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int vetor8A[8]; cout << endl << endl << endl; cout << "CONTEUDO DO VETOR" << endl; for (int i=0;i<16;i++){ cout << vetor16[i] << " "; } for(int i = 0; i < 8; ++i) { vetor8A[i] = vetor16[i+8]; vetor16[i+8] = vetor16[i]; vetor16[i] = vetor8A[i]; } cout << endl << endl << endl; cout << "Vetor Invertido: " << endl; for(int i = 0;i<16;++i) { cout << vetor16[i] << " "; } getch();
  • 3. } ------------------------------------------------------------------------------------------------------------------------------- 4. Leia um vetor de 20 posições e em seguida um valor X qualquer. Seu programa devera fazer uma busca do valor de X no vetor lido e informar a posição em que foi encontrado ou se não foi encontrado. #include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main (){ int vetor20[20]; int valor1; clrscr(); cout << "O Vetor[20] foi preenchido RANDOMICAMENTE" << endl << endl; for (int i=0;i<20;i++) { vetor20[i] = rand()%100; cout << "Id: " << i << " Numero: " << vetor20[i] << endl; } cout << endl << endl; gotoxy(35,15);cout << "Qual o valor a pesquisar "; cin >> valor1; for (int i=0;i<20;i++) { if(vetor20[i] == valor1) { cout << "Id " << i << "t -> Tem o valor pesquisado: " << endl; } else { cout << "Id " << i << "t -> Valor NAO encontrado " << endl; } } getch(); } ------------------------------------------------------------------------------------------------------------------------------- 5. Leia um vetor de 40 posições. Contar e escrever quantos valores pares ele possui. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h>
  • 4. using namespace std; main (){ int vetor40[40]; int contaPares=0; // preenchendo e exibindo o vetor cout << "VETOR DE 40 POSICOES " << endl; for (int i=0;i<40;i++){ vetor40[i] = rand()%100; cout << vetor40[i] << " " ; if(vetor40[i] %2 == 0) contaPares++; } cout << endl << endl; cout << "Tem " << contaPares << " PARES no Vetor" << endl; getch(); } ------------------------------------------------------------------------------------------------------------------------------- 6. Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior valor. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; /* Leia uma matriz 10 x 10 e escreva a localização (linha e a coluna) do maior valor. */ main (){ int matriz10x10[10][10]; int maiorValor=0,i,j; // digitando a matriz for (i=0;i<10;i++){ for (j=0;j<10;j++){ cout << i << " e " << j << " "; cin >> matriz10x10[i][j]; if (matriz10x10[i][j] > maiorValor) { maiorValor = matriz10x10[i][j]; } } } cout << endl; // exibindo o resultado na tela
  • 5. cout << "Matriz 10 x 10" << endl; for (i=0;i<10;i++){ for ( j=0;j<10;j++){ if(maiorValor == matriz10x10[i][j]) { cout << "Maior valor: " << maiorValor << endl; cout << "Na linha: " << i << " e na Coluna: " << j << " " ; } cout << endl; } } getch(); } ------------------------------------------------------------------------------------------------------------------------------- 7. Declare uma matriz 5 x 5. Preencha com 1 a diagonal principal e com 0 os demais elementos. Escreva ao final a matriz obtida. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int matriz5x5[5][5],i,j; // digitando a matriz for (i=0;i<5;i++) { for (j=0;j<5;j++) { if(i == j) { matriz5x5[i][j]=1; } else { matriz5x5[i][j]=0; } } } for (i=0;i<5;i++) { for (j=0;j<5;j++) { cout << matriz5x5[i][j] << " "; } cout << endl; } getch(); } -------------------------------------------------------------------------------------------------------------------------------
  • 6. 8. Leia uma matriz 4 x 4 e troque os valores da 1ª.linha pelos da 4ª.coluna, vice-e-versa. Escrever ao final a matriz obtida #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int matriz4x4[4][4]; int matrizAux,i,j; cout << " DIGITANDO " << endl; for (i=0;i<4;i++){ for (j=0;j<4;j++){ cout << "Valor " << i << " " << " " << j << " "; cin >> matriz4x4[i][j]; } } // exibindo a matriz cout << endl << endl; cout << " MATRIZ 4X4 " << endl; for (i=0;i<4;i++){ for (j=0;j<4;j++){ cout << matriz4x4[i][j] << " "; } cout << endl; } // trocando a linha 1 com a coluna 4 for (i=0;i<4;i++){ for (j=0;j<4;j++){ if (i == 0) matrizAux = matriz4x4[i][j]; matriz4x4[i][j] = matriz4x4[i][3]; matriz4x4[i][3] = matrizAux; } cout << endl; } cout << endl; cout << " MATRIZ TROCADA " << endl; for (i=0;i<4;i++){ for (j=0;j<4;j++){ cout << matriz4x4[i][j] << " "; } cout << endl; } getch(); } ------------------------------------------------------------------------------------------------------------------------------- 9. Leia uma matriz 8 x 8 e a transforme numa matriz triangular inferior , atribuindo zero a todos os elementos acima da diagonal principal, escrevendo-a ao final.
  • 7. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int matriz8x8[8][8],i,j; for (i=0;i<8;i++){ for (j=0;j<8;j++){ matriz8x8[i][j] = 1+rand()%6; } } cout << " MINHA MATRIZ " << endl; for (i=0;i<8;i++){ for (j=0;j<8;j++){ cout << matriz8x8[i][j] << " "; } cout << endl; } // inserindo zero na diagonal superior // a coluna j é o valor de i+1 // linha 0+1, linha 0+2, linha 0+3, ... linha 0+7 for (i=0;i<8;i++){ for (j=(i+1); j<8; j++){ matriz8x8[i][j] = 0; } } cout << " MATRIZ SUPERIOR " << endl; for (i=0;i<8;i++){ for (j=0;j<8;j++){ cout << matriz8x8[i][j] << " "; } cout << endl; } getch(); }: ------------------------------------------------------------------------------------------------------------------------------- 10. Leia uma matriz 5 x 5 e faça uma troca entre as diagonais superior e inferior. Escreva-a ao final. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main( ){ int matriz5x5[5][5]; int matriz2[5][5];
  • 8. int vetDiag1[5]; int vetDiag2[5]={0}; int i, j; // criando a matriz randomicamente cout << "Matriz inicial " << endl; for(i=0;i<5;i++){ for(j=0;j<5;j++){ matriz5x5[i][j]= i+j; cout << matriz5x5[i][j] << " "; } cout << endl; } // primeira diagonal cout << endl << endl; cout << "Diagonal 1" << endl << endl; for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(i==j){ vetDiag1[i] = matriz5x5[i][j]; cout << vetDiag1[i] << " "; } } } //// segunda diagonal cout << endl << endl; cout << "Diagonal 2" << endl << endl; for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(i+j==5){ vetDiag2[i] = matriz5x5[i][j]; cout << vetDiag2[i] << " "; } } } // trocando as diagonais for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(i==j){ matriz5x5[i][j]=vetDiag2[i]; } if(i+j==5){ matriz5x5[i][j]=vetDiag1[i]; } } } // exibindo a matriz cout << endl << endl; cout << " Diagonais trocadas " << endl << endl; for(i=0;i<5;i++){ for(j=0;j<5;j++){ cout << matriz5x5[i][j] << " "; } cout << endl; } getch(); }
  • 9. ------------------------------------------------------------------------------------------------------------------------------- 11. Considere uma matriz de distância entre cidades 6 x 6: 1.(Irecê) 2.(Uibaí) 3.(Salvador) 4.(Lapão) 5.(Canarana) 6.(Alagoinhas) 1.(Irecê) 63 210 190 190 2.(Uibaí) 63 160 150 95 3.(Salvador) 210 160 10 4.(Lapão) 190 150 10 5.(Canarana) 95 80 6.(Alagoinhas) 190 80 Considere também um vetor de viagem indo de Salvador até Irecê pela seguinte rota: Indice 1 2 3 4 5 6 Cidade 3 4 2 5 6 1 Faça um programa que leia a matriz e o vetor e calcule a distancia percorrida durante a viagem. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; int distancias6x6[6][6]={0,63,210,190,0,190,63,0,160,150,95,0,210,160,0,10,0,0,190,150,10,0,0,0,0,95,0,0,0,80,190,0,0 ,0,80,0}; int cidades[6]={3,4,2,5,6,1}; int contaDistancia=0,somaValores=0,origem=0,destino=0; int i,j; main (){ // exibe tabela DISTANCIA cout << endl; cout << "Tabela das Distancias" << endl; for (i=0;i<6;i++){ for (j=0;j<6;j++){ cout << right << distancias6x6[i][j] << "t"; } cout << endl; } cout << endl; // exibe tabelas das CIDADES cout << "Tabela das cidades" << endl; for (i=0;i<6;i++){ cout << cidades[i] << "t"; } // contando a distância cout << endl; for (i=0;i<6;i++){
  • 10. if (cidades[i] == distancias6x6[i][j]); somaValores = somaValores + distancias6x6[i][j]; } cout << "nDistancia da Viagem: " << somaValores; getch(); } ------------------------------------------------------------------------------------------------------------------------------- 12. Uma escola municipal de Irecê deseja fazer um programa que armazene uma lista de alunos e sua média final. Faça um programa que armazene uma lista de nomes de 10 alunos e suas respectivas médias. Ao final o programa deverá informar ao usuário a lista de nome, as notas. Além destas informações, o sistema deverá informar se o aluno está aprovado (média maior ou igual a 6,0) recuperação (média entre 4,0 e 6,0) e reprovado (media menor que 4,0). Exemplo: Nome Média Situação Carlos Souza 5,0 Recuperação José Nascimento 3,0 Reprovado Pedro Luís 7,0 Aprovado Maria Silva 8,9 Aprovado Vania Oliveira 2,5 Reprovado Leonardo Cavalcante 6,0 Aprovado ..... ........... .......... #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ string nomes[5]; float medias[5]; string resultado[5]; int i,j; for (i=0;i<10;i++) { cout << "Aluno: " << i << " : "; cin >>(nomes[i]); cout << "Media: " << i << " : "; cin >> (medias[i]); if (medias[i] >= 6) { resultado[i]="APROVADO"; }
  • 11. if (medias[i] >=4 && medias[i] < 6) { resultado[i]="RECUPERACAO"; } if (medias[i] < 4) { resultado[i]="REPROVADO"; } } cout << "NOME tt MEDIA t RESULTADO" << endl; for (i=0;i<5;i++){ cout << nomes[i] << "t t" << medias[i] << "t" << resultado[i] << endl; } getch(); } ------------------------------------------------------------------------------------------------------------------------------- 13. Escreva um que leia um vetor G de 20 elementos caracter que representa o gabarito de uma prova. A seguir, para cada um dos 10 alunos da turma, leia o vetor de respostas (R) do aluno e conte o número de acertos. Mostre o nº de acertos do aluno e uma mensagem APROVADO, se a nota for maior ou igual a 6; e mostre uma mensagem de REPROVADO, caso contrário. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ // // char vetorG[20] = {'0','1','2','3','4','5','6','7','8','9','0','1','2','3','4','5','6','7','8','9'}; char vetorG[20] = {'a','c','d','b','e','d','a','c','d','b','a','e','c','c','d','e','a','a','b','b'}; int i; char nomes[10]; char resposta[20]; int contaAcerto=0; for (i=0;i<10;i++){ cout << "Aluno: "; cin >> nomes; for (int i=0;i<20;i++) { cout << "Questao: " << i << " "; cin >> resposta[i]; if(resposta[i] == vetorG[i]) { contaAcerto++; } // fim do if } // fim do for interno cout << "Acertou: " << contaAcerto << endl;
  • 12. if (contaAcerto >= 6) { cout << "APROVADO" << endl; }else { cout << "REPROVADO" << endl; } } // fim do for externo getch(); } // fim do main() ------------------------------------------------------------------------------------------------------------------------------- 14. Faça um algoritmo que gere a seguinte matriz: 1 3 3 3 3 2 3 1 3 3 2 3 3 3 1 2 3 3 3 3 2 1 3 3 3 2 3 3 1 3 2 3 3 3 3 1 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <conio.c> #include <iostream> #include <windows.h> using namespace std; main (){ int matrizFeita[6][6] = {1,3,3,3,3,2,3,1,3,3,2,3,3,3,1,2,3,3,3,3,2,1,3,3,3,2,3,3,1,3,2,3,3,3,3,1}; int x=10,y=10; for (int i=0;i<6;i++){ for (int j=0;j<6;j++){ cout << matrizFeita[i][j]; } cout << endl; } getch(); } -------------------------------------------------------------------------------------------------------------------------------: OBSERVAÇÃO: • A lista é INDIVIDUAL. • A lista deverá ser entregue através do ambiente! • NÃO será aceita lista fora do prazo! • Caso seja entregue programas iguais ou copiados da internet a questão será anulada. • Lembre, você poderá ser um dos convidados a descrever seu código durante a primeira aula após a entrega da lista. DATA LIMITE DE ENTREGA:15/11/12 23h55min