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

ระบบเลขฐานสองฐานแปด
ระบบเลขฐานสองฐานแปดระบบเลขฐานสองฐานแปด
ระบบเลขฐานสองฐานแปดjibjoy_butsaya
 
9 วิชาสามัญ คณิตศาสตร์ 2 2561
9 วิชาสามัญ คณิตศาสตร์ 2 25619 วิชาสามัญ คณิตศาสตร์ 2 2561
9 วิชาสามัญ คณิตศาสตร์ 2 25619GATPAT1
 
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...lexGutirrez1
 
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559ครู กรุณา
 
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสามSomporn Amornwech
 
ตัวอย่างโจทย์สถิติ
ตัวอย่างโจทย์สถิติตัวอย่างโจทย์สถิติ
ตัวอย่างโจทย์สถิติNiwat Namisa
 
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...ForeverBlackpink
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558ครู กรุณา
 
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลัง
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลังการย่อยอาหารของสัตว์ไม่มีกระดูกสันหลัง
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลังThanyamon Chat.
 
أسس الحب في الإسلام الحب في بيت النبوة
  أسس الحب في الإسلام الحب في بيت النبوة   أسس الحب في الإسلام الحب في بيت النبوة
أسس الحب في الإسلام الحب في بيت النبوة chamithami
 

Mais procurados (15)

ระบบเลขฐานสองฐานแปด
ระบบเลขฐานสองฐานแปดระบบเลขฐานสองฐานแปด
ระบบเลขฐานสองฐานแปด
 
9 วิชาสามัญ คณิตศาสตร์ 2 2561
9 วิชาสามัญ คณิตศาสตร์ 2 25619 วิชาสามัญ คณิตศาสตร์ 2 2561
9 วิชาสามัญ คณิตศาสตร์ 2 2561
 
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
 
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559
ข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2559
 
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม
2.1 การแยกตัวประกอบของพหุนามที่อยู่ในรูปผลบวกและผลต่างของกำลังสาม
 
กสพท. เคมี 2558
กสพท. เคมี 2558กสพท. เคมี 2558
กสพท. เคมี 2558
 
ตัวอย่างโจทย์สถิติ
ตัวอย่างโจทย์สถิติตัวอย่างโจทย์สถิติ
ตัวอย่างโจทย์สถิติ
 
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
First for Schools Trainer - Six Practice Tests with Answers & Teacher's Notes...
 
31202 mid512
31202 mid51231202 mid512
31202 mid512
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.3 ปีการศึกษา 2558
 
31201mid521
31201mid52131201mid521
31201mid521
 
31202mid522
31202mid52231202mid522
31202mid522
 
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลัง
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลังการย่อยอาหารของสัตว์ไม่มีกระดูกสันหลัง
การย่อยอาหารของสัตว์ไม่มีกระดูกสันหลัง
 
أسس الحب في الإسلام الحب في بيت النبوة
  أسس الحب في الإسلام الحب في بيت النبوة   أسس الحب في الإسلام الحب في بيت النبوة
أسس الحب في الإسلام الحب في بيت النبوة
 
Mi mundo en otra lengua guanajuato
Mi mundo en otra lengua guanajuatoMi mundo en otra lengua guanajuato
Mi mundo en otra lengua guanajuato
 

Semelhante a Vetor, matriz e algoritmos

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 Vetor, matriz e algoritmos (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
 

Vetor, matriz e algoritmos

  • 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