Buscar

Lista 7 Gabarito

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

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

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ê viu 3, do total de 9 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

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

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ê viu 6, do total de 9 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

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

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ê viu 9, do total de 9 páginas

Prévia do material em texto

Lista 7 - imprima, atribuição,\leia, se ... então .. senão se, escolha, para 
ou enquanto ou faca...enquanto e matrizes bidimensionais. 
 
 
Orientações: 
1- Todos os exercícios têm pelo menos uma matriz bidimensional, 
2- O comanda de entrada está presente em todos os exercícios. 
3- Quando existir algum cálculo declare a variável e armazene o 
resultado da operação. 
4- A estrutura do for, ou a estrutura do while ou a estrutura do 
do...while, está presente em todos os exercícios. 
5 - Todos os exercícios terão comando de saída. 
6- Todas as soluções na linguagem C++. 
 
Linguagem C++ 
Solução do exercício 8 
 
 
1) Entrar com valores reais para uma matriz M[4] [5] . Gerar e exibir a matriz 
DOBRO. 
#include <iostream> 
using namespace std; 
int main() 
 
 
{ 
 int L, c; 
 float M[4][5], DOBRO[4][5]; 
 
 //entrada 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<": "; 
 cin>>M[L][c]; 
 //gera a matriz dobro . Poderia estar em outro for, mas assim eh melhor 
 DOBRO[L][c]= M[L][c] * 2; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz Dobro\n\n"; 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<DOBRO[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
2) Entrar com valores inteiros para uma matriz A[4] [4] e para uma matriz B[4] 
[4]. Gerar e exibir a matriz SOMA. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[4][4], B[4][4], SOMA[4][4]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //entrada dos valores da Matriz B 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz B: "; 
 
 
 cin>>B[L][c]; 
 //gera a matriz SOMA . Poderia estar em outro for, mas assim eh melhor 
 SOMA[L][c]= A[L][c] + B[L][c]; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz SOMA\n\n"; 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<SOMA[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
3) Entrar com valores para duas matrizes 5 x 5. Gerar e exibir a matriz diferença. 
 
 #include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[5][5], B[5][5], diferenca[5][5]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //entrada dos valores da Matriz B 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz B: "; 
 cin>>B[L][c]; 
 //gera a matriz diferenca . Poderia estar em outro for, mas assim eh melhor 
 diferenca[L][c]= A[L][c] + B[L][c]; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz Diferenca\n\n"; 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 
 
 { 
 cout<<diferenca[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
4) Ler valores inteiros para a matriz A[3][5] . Gerar e exibir a matriz 
SOMA_LINHA, onde cada elemento é a soma dos elementos de uma linha da 
matriz A. Faça o trecho que gera a matriz, separado dos trechos de entrada ou 
do trecho de saída. 
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[3][5], SOMA_LINHA[3]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<3; L++) 
 { 
 SOMA_LINHA[L] = 0;//para não ter que criar outro for 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //gera a matriz SOMA_LINHA 
 for(L=0;L<3;L++) 
 for (c=0; c<5;c++) 
 SOMA_LINHA[L] += A[L][c]; 
 
 
 //saida 
 system("cls"); 
 cout<<"\n\nSoma Linha\n\n"; 
 for(L=0;L< 3;L++) 
 cout<<"\n"<<SOMA_LINHA[L]; 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
5) Ler valores inteiros para a matriz A[3][5]. Gerar e imprimir a matriz 
SOMA_COLUNA, onde cada elemento é a soma dos elementos de uma coluna da 
matriz A. Faça o trecho que gera a matriz, separado dos trechos de entrada ou 
do trecho de saída. 
 
#include <iostream> 
using namespace std; 
 
 
int main() 
{ 
 int L, c, A[3][5], SOMA_COLUNA[5]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<3; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //inicializa SOMA_COLUNA 
 for (c=0; c<5;c++) 
 SOMA_COLUNA[c] = 0; 
 
 //gera a matriz SOMA_COLUNA 
 for (c=0; c<5;c++) 
 for(L=0;L<3;L++) 
 SOMA_COLUNA[c] += A[L][c]; 
 
 //saida 
 system("cls"); 
 cout<<"\n\nSoma Coluna\n\n"; 
 for(c=0;c< 5;c++) 
 cout<<SOMA_COLUNA[c]<<"\t"; 
 cout<<"\n\n"; 
 system("pause"); 
} 
6) Fazer um programa leia valores para uma matriz M10 x 10 e escreva-a na ordem 
inversa que foi lida. 
 Se a matriz fosse M3 x 3 e tivesse estes elementos: 
 sua impressão seria: 
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
987
654
321
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
123
456
789
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[10][10]; 
 //Entrada 
 for(L=0; L < 10; L++) 
 { 
 for(C=0; C < 10; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 
 
 system("cls");//system("clear"); LINUX 
 cout<<"\nMatriz Exibida na orem inversa de leitura\n"; 
 for(L=9; L >=0; L--) 
 { 
 for(C=9; C >=0 ; C--) 
 { 
 cout<<mat[L][C]<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
7) Faça um programa que leia valores reais para uma matriz 5 x 5 e exiba todos 
os elementos exceto os elementos da diagonal principal. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[5][5]; 
 //Entrada 
 for(L=0; L < 5; L++) 
 { 
 for(C=0; C < 5; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos menos os da DP\n"; 
 for(L=0; L < 5; L++) 
 { 
 for(C=0; C < 5; C++) 
 { 
 if(L != C) 
 cout<<mat[L][C]<<"\t"; 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
8) Faça um programa que leia valores reais para uma matriz 4 x 4 e exiba os 
elementos que se encontram acima da diagonal principal e a soma deles. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 
 
 float mat[4][4], soma=0; 
 //Entrada 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos acima da DP\n"; 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 if(L < C) 
 { 
 soma += mat[L][C];cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\nSoma dos elementos: "<<soma<<"\n"; 
 system("pause"); 
} 
 
9) Faça um programa que leia os elementos de uma matriz 6 x 6 e exiba os 
elementos que se encontram acima da diagonal principal e o produto deles. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[6][6], produto=1; 
 //Entrada 
 for(L=0; L < 6; L++) 
 { 
 for(C=0; C < 6; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos acima da DP\n"; 
 for(L=0; L < 6; L++) 
 { 
 for(C=0; C < 6; C++) 
 { 
 if(L < C) 
 
 
 { 
 produto *= mat[L][C]; 
 cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\nProduto dos elementos: "<<produto<<"\n"; 
 system("pause"); 
} 
 
9) Faça um programa que leia valores inteiros para uma matriz M inteira 4x4 e 
exiba os elementos que estão em linhas pares e colunas ímpares. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C, mat[4][4]; 
 //Entrada 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nElementos em linhas pares e colunas impares\n"; 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 if(L % 2 ==1 && C % 2 == 0) 
 { 
 cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
10) Num torneio de futsal, de um turno, inscreveram-se 12 times. Armazenar os 
nomes dos times e exibir a tabela de jogos. 
Solução_1 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
 
 
{ 
 int L, c; 
 char times[TAM][21]; 
 
 //entrada dos nomes dos times 
 for(L=0; L<TAM; L++) 
 { 
 cout<<"\nNome do "<<L+1<<"o time: "; 
 cin.getline(times[L], 31); 
 } 
 // saida 
 system("cls"); //nao eh obrigatorio 
 cout<<"\n\nTabela de Jogos \n\n"; 
 for(L=0; L<TAM; L++) 
 for(c=0; c<TAM; c++) 
 if(L < c) // pode ser if(L > c) tambem 
 cout<<"\n"<<times[L]<<" x "<<times[c]; 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
Solução_2 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 int L, c; 
 char times[TAM][21]; 
 
 //entrada dos nomes dos times 
 for(L=0; L<TAM; L++) 
 { 
 cout<<"\nNome do "<<L+1<<"o time: "; 
 cin.getline(times[L], 31); 
 } 
 // saida 
 system("cls"); //nao eh obrigatorio 
 cout<<"\n\nTabela de Jogos \n\n"; 
 for(L=0; L<TAM-1; L++) 
 for(c=L+1; c<TAM; c++) 
 cout<<"\n"<<times[L]<<" x "<<times[c]; 
 
 cout<<"\n\n"; 
 system("pause"); 
}

Outros materiais