Baixe o app para aproveitar ainda mais
Prévia do material em texto
-- Matrizes – Elabore um algoritmo que cria três matrizes de inteiros com 2 linhas x 2 colunas: A, B e SOMA. A matriz A deve ser inicializada com os valores mostrados abaixo, enquanto que a matriz B deve ser lida do usuário. Por fim, deve-se calcular a matriz SOMA como sendo a soma entre as matrizes A e B e imprimir seus valores na tela. Resolva fazendo as leituras e cálculos de forma manual e depois de forma otimizada utilizando laço de repetição. A= 2 9 3 5 LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis int A[2][2]={2,9,3,5}, B[2][2], SOMA[2][2], contl, contc; // leitura da matriz B do usuário for (contl=0; contl<=1; contl++) { for (contc=0; contc<=1; contc++) { printf("Digite um valor para a posicao [%d][%d] da matriz B: ", contl, contc); scanf("%d", &B[contl][contc]); } } // calculo e impressao da matriz SOMA printf("\n\nMatriz SOMA:\n\n"); for (contl=0; contl<=1; contl++) { for (contc=0; contc<=1; contc++) { SOMA[contl][contc] = A[contl][contc] + B[contl][contc]; printf("\t%d", SOMA[contl][contc]); } printf("\n"); } } Elabore um algoritmo que lê do usuário uma matriz M de 3x2 elementos reais e também um outro valor real x qualquer. Depois, deve-se realizar uma varredura na matriz em busca do valor x e, por fim, imprimir na tela quantas ocorrências do valor foram encontradas na matriz. LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis float M[3][2], x; int contl, contc, placar=0; // lendo valores do usuário p/ a matriz M for (contl=0; contl<=2; contl++) { for (contc=0; contc<=1; contc++) { printf("Digite um valor para M[%d][%d]: ", contl, contc); scanf("%f", &M[contl][contc]); } } // lendo um valor 'x' para ser buscado na matriz printf("\nAgora, digite um valor para ser buscado dentro da matriz: "); scanf("%f", &x); // varrendo a matriz M em busca do valor 'x' for (contl=0; contl<=2; contl++) { for (contc=0; contc<=1; contc++) { if(M[contl][contc]==x) placar++; } } // imprimindo na tela o número de ocorrencias do valor 'x' na matriz printf("\nForam encontradas %d ocorrencias do valor %.1f na matriz", placar, x); } Elabore um algoritmo capaz de criar e imprimir na tela uma matriz identidade I de N-ésima ordem, onde N deve ser lido do usuário. Por exemplo, se N=3, o resultado esperado é: 1 0 0 I= 0 1 0 0 0 1 LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis int N, contl, contc; // lendo do usuário a ordem 'N' da matriz printf("Digite a ordem desejada para a matriz identidade: "); scanf("%d", &N); // validação da entrada while (N<2) { printf("Erro, digite ordem >= 2: "); scanf("%d", &N); } // declaração da matriz identidade int I[N][N]; // inicialização e impressão da matriz identidade for (contl=0; contl<=N-1; contl++) { for(contc=0; contc<=N-1; contc++) { if (contl==contc) I[contl][contc] = 1; else I[contl][contc] = 0; printf("\t%d", I[contl][contc]); } printf("\n"); } } Elabore um algoritmo que lê do usuário uma matriz de 6x6 elementos inteiros. Depois, o algoritmo deve varrer a matriz e verificar: Quantos elementos positivos existem; Quantos elementos negativos existem; Quantos elementos nulos existem; Quantos elementos divisíveis por 5 existem; Quantos elementos pares e múltiplos de 3 existem. LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis int M[6][6], contl, contc, pos=0, neg=0, nul=0, dv5=0, pdv3=0; // lendo do usuário valores para a matriz for (contl=0; contl<=5; contl++) { for (contc=0; contc<=5; contc++) { printf("Digite um valor para M[%d][%d]: ", contl, contc); scanf("%d", &M[contl][contc]); // verifica em quais categorias o valor lido se econtra if(M[contl][contc]>0) pos++; else { if(M[contl][contc]==0) nul++; else neg++; } if(M[contl][contc]%5==0) dv5++; if(M[contl][contc]%2==0 && M[contl][contc]%3==0) pdv3++; } } // impressão na tela dos resultados printf("\n\n ---------------------------------"); printf("\n Valores POSITIVOS encontrados: %d", pos); printf("\n Valores NEGATIVOS encontrados: %d", neg); printf("\n Valores NULOS encontrados: %d", nul); printf("\n Valores DIV. 5 encontrados: %d", dv5); printf("\n Valores PARES e DIV. 3 econtrados: %d", pdv3); } Elabore um algoritmo que lê do usuário uma matriz de 10x10 elementos reais e, em seguida, inverte os valores da 1ª linha com os valores da última linha. Por fim, o algoritmo deve imprimir na tela a matriz resultante. Elabore o pseudocódigo/programa de um algoritmo que, utilizando laço de repetição, inicialize as matrizes A, B, C e D conforme abaixo: [0] [1] [2] [3] [4] A= [0] 1 2 3 4 5 [1] 1 2 3 4 5 [2] 1 2 3 4 5 [3] 1 2 3 4 5 [4] 1 2 3 4 5 [0] [1] [2] [3] [4] B= [0] 1 3 5 7 9 [1] 1 3 5 7 9 [2] 1 3 5 7 9 [3] 1 3 5 7 9 [4] 1 3 5 7 9 [0] [1] [2] [3] [4] C= [0] 0 1 2 3 4 [1] 1 2 3 4 5 [2] 2 3 4 5 6 [3] 3 4 5 6 7 [4] 4 5 6 7 8 [0] [1] [2] [3] [4] D= [0] 0 2 4 6 8 [1] 1 3 5 7 9 [2] 2 4 6 8 10 [3] 3 5 7 9 11 [4] 4 6 8 10 12 LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis int A[5][5], B[5][5], C[5][5], D[5][5], contl, contc; // inicialização das matrizes for (contl=0; contl<=4; contl++) { for (contc=0; contc<=4; contc++) { A[contl][contc] = contc+1; B[contl][contc] = 2*contc+1; C[contl][contc] = contl+contc; D[contl][contc] = 2*contc+contl; } } // impressão da matriz A printf("\n Matriz A:\n\n"); for (contl=0; contl<=4; contl++) { for (contc=0; contc<=4; contc++) { printf("\t%d", A[contl][contc]); } printf("\n"); } // impressão da matriz B printf("\n Matriz B:\n\n"); for (contl=0; contl<=4; contl++) { for (contc=0; contc<=4; contc++) { printf("\t%d", B[contl][contc]); } printf("\n"); } // impressão da matriz C printf("\n Matriz C:\n\n"); for (contl=0; contl<=4; contl++) { for (contc=0; contc<=4; contc++) { printf("\t%d", C[contl][contc]); } printf("\n"); } // impressão da matriz D printf("\n Matriz D:\n\n"); for (contl=0; contl<=4; contl++) { for (contc=0; contc<=4; contc++) { printf("\t%d", D[contl][contc]); } printf("\n"); } } Elabore um algoritmo que lê do usuário uma matriz M de 3x2 elementos inteiros. Depois, o algoritmo deve calcular um vetor SOMA_LINHA, sendo que a N-ésima posição do vetor corresponde à soma entre todos os elementos da N-ésima linha da matriz. De maneira similar, calcular também um vetor SOMA_COLUNA, onde a N-ésima posição corresponde à soma entre todos os elementos da N-ésima coluna da matriz. Depois, calcular a variável TOTAL_LINHA como sendo a soma entre todas as posições do vetor SOMA_LINHA, bem como a variável TOTAL_COLUNA como sendo a soma entre todas as posições do vetor SOMA_COLUNA. Por fim, imprimir na tela os vetores SOMA_LINHA e SOMA_COLUNA, bem como as variáveis TOTAL_LINHA e TOTAL_COLUNA. Exemplo: M = 5 2 1 0 3 8 SOMA_LINHA= 7 1 11 TOTAL_LINHA= 19 SOMA_COLUNA= 9 10 TOTAL_COLUNA= 19 LINGUAGEM C #include <stdio.h> void main() { // declaração das variáveis int M[3][2],SOMA_LINHA[3]={0,0,0}, SOMA_COLUNA[2]={0,0}, TOTAL_LINHA=0, TOTAL_COLUNA=0, contl, contc, cont; // lê do usuário valores para a matriz M for (contl=0; contl<=2; contl++) { for (contc=0; contc<=1; contc++) { printf("Digite valor para M[%d][%d]: ", contl, contc); scanf("%d", &M[contl][contc]); } } // calcula o vetor SOMA_LINHA e a variável TOTAL_LINHA for (contl=0; contl<=2; contl++) { for (contc=0; contc<=1; contc++) { SOMA_LINHA[contl] = SOMA_LINHA[contl] + M[contl][contc]; } TOTAL_LINHA = TOTAL_LINHA + SOMA_LINHA[contl]; } // calcula o vetor SOMA_COLUNA e a variável TOTAL_COLUNA for (contc=0; contc<=1; contc++) { for (contl=0; contl<=2; contl++) { SOMA_COLUNA[contc] = SOMA_COLUNA[contc] + M[contl][contc]; } TOTAL_COLUNA = TOTAL_COLUNA + SOMA_COLUNA[contc]; } // impressão da matriz M printf("\n\nMatriz M: \n"); for (contl=0; contl<=2; contl++) { for (contc=0; contc<=1; contc++) { printf("\t%d", M[contl][contc]); } printf("\n"); } // impressao do vetor SOMA_LINHA e variável TOTAL_LINHA printf("\nSOMA_LINHA: "); for(cont=0; cont<=2; cont++) { printf("%d ", SOMA_LINHA[cont]); } printf("\nTOTAL_LINHA: %d", TOTAL_LINHA); // impressao do vetor SOMA_COLUNA e variável TOTA_COLUNA printf("\n\nSOMA_COLUNA: "); for(cont=0; cont<=1; cont++) { printf("%d ", SOMA_COLUNA[cont]); } printf("\nTOTAL_COLUNA: %d", TOTAL_COLUNA); } O que será impresso na tela pelo algoritmo abaixo? INÍCIO Inteiro a[5]←{4,3,2,1,0}, b[5], aux←1, i; Para i de 0 até 4 passos 1 b[a[i]] ← (2*i)+1; Se (b[a[i]] mod 5)=0 então b[a[i]] ← (-1); Fim-Se aux ← aux + b[a[i]]; Fim-Para Escreva aux; FIM Para auxiliar no controle das despesas da sua empresa com pagamento de funcionários, você deve criar um algoritmo (pseudocódigo/fluxograma) para funcionar como uma folha de pagamento eletrônica, tal como: Dias/mês Horas/dia R$/hora Total Bruto Desconto Total Líquido Funcionário 1 Funcionário 2 ... ... ... ... ... ... ... Funcionário N Mais especificamente, o algoritmo deve ser capaz de ler do usuário para dentro de uma matriz o nº de dias trabalhados no mês (1ª coluna), o nº de horas trabalhadas no dia (2ª coluna) e o valor (R$) da hora trabalhada (3ª coluna) referente a N funcionários, onde N também deve ser informado pelo usuário. Então, o algoritmo deve preencher a 4ª coluna com o salário bruto de cada funcionário, e a 5ª coluna com o valor do desconto mensal (INSS, IR, etc.). Na sua empresa, são descontados mensalmente de cada funcionário 30% sobre seu salário bruto. Depois, calcular na última coluna o salário líquido de cada funcionário. Por fim, o algoritmo deve imprimir na tela: O total gasto pela empresa com o pagamento dos funcionários, tendo em vista os valores brutos; Quantos funcionários recebem menos que R$2 mil líquido? Quantos funcionários recebem entre R$2 mil e R$5 mil líquido? Quantos funcionários recebem mais que R$5 mil líquido? Qual é o maior e qual o menor número de dias trabalhados por um funcionário na empresa? Qual é o maior e qual o menor número de horas trabalhadas no dia por um funcionário na sua empresa? Qual é o maior e qual o menor valor (R$) de hora trabalhada recebido por um funcionário na sua empresa? Qual é o maior salário pago na empresa para um funcionário, tendo em vista os valores brutos.
Compartilhar