Baixe o app para aproveitar ainda mais
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"); }
Compartilhar