Ir ao conteúdo
  • Cadastre-se

maria paiva

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Tudo que maria paiva postou

  1. Essa primeira parte conseguir fazer. Segue abaixo o programa. Agora como introduzir nesse programa o seguinte esquema: "multiplicar os elementos da diagonal principal da matriz A pela diagonal secundária da matriz B e armazenar na diagonal principal de uma 4a matriz. Os outros elementos serão da 3a matriz" #include <stdio.h> #include <stdlib.h> #define linA 2 #define colA 2 #define linB 2 #define colB 2 int main() { int i,j,k1,k2; float A[linA][colA]; float B[linB][colB]; float C[linA][colB]; float temp; // Carregando matriz A printf(" \n CARREGAMENTO DA MATRIZ A \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colA;j++) { printf("A[%d][%d] = ",i+1,j+1); Label_1: // Label do comando Goto , volta para esse ponto do programa scanf("%f",&A[i][j]); if (A[i][j] <= 4.88) { printf("Digitou menor Que 4.88 , tente novamente\n"); goto Label_1; // vai para o ponto informado pelo Label } } } // Carregando matriz B printf(" \n CARREGAMENTO DA MATRIZ B \n \n"); for(i=0;i<linB;i++) { for(j=0;j<colB;j++) { printf("B[%d][%d] = ",i+1,j+1); Label_2: // Label do comando Goto , volta para esse ponto do programa scanf("%f",&B[i][j]); if (B[i][j] <= 4.88) { printf("Digitou menor Que 4.88 , tente novamente\n"); goto Label_2; // vai para o ponto informado pelo Label } } } // Imprimindo a matriz A printf("\n MATRIZ A \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colA;j++) { if(j!=(colA-1)) printf("%.2f \t",A[i][j]); else printf("%.2f \n",A[i][j]); } } printf("\n \n"); // Imprimindo a matriz B printf("\n MATRIZ B \n \n"); for(i=0;i<linB;i++) { for(j=0;j<colB;j++) { if(j!=(colB-1)) printf("%.2f \t",B[i][j]); else printf("%.2f \n",B[i][j]); } } for(k1=0;k1<linA;k1++) { for(k2=0;k2<colB;k2++) { temp=0.0; for(i=0;i<colA;i++) { temp=temp+A[k1][i]*B[i][k2]; } C[k1][k2]=temp; } } printf("\n \n"); printf("\n MATRIZ C = A x B \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colB;j++) { if(j!=(colB-1)) { printf("%.2f \t",C[i][j]); } else { printf("%.2f \n",C[i][j]); } } } return 0;}
  2. obrigado pelas informações. Só, ainda, não compreendi em que parte entra "usuário digitar números reais maiores que 4.88". Poderia me ajudar? Agradeço desde já
  3. Escreva um programa em C que permite ao usuário digitar números reais maiores que 4.88 para preencher as matrizes A16 x 16 e matriz B16 x 16. Como fazer isso nesse código? #include <stdio.h> #include <stdlib.h> int main() { int i,j,k1,k2; int linA,colA,linB,colB; printf("PRODUTO DE MATRIZES A X B \n \n"); printf("Quantidade de linhas da Matriz A = "); scanf("%d",&linA); printf("Quantidade de colunas da Matriz A = "); scanf("%d",&colA); printf("Quantidade de linhas da Matriz B = "); scanf("%d",&linB); printf("Quantidade de colunas da Matriz B = "); scanf("%d",&colB); float A[linA][colA]; float B[linB][colB]; float C[linA][colB]; float temp; if(colA!=linB) { printf("A multiplicacao não pode ser realizada.\n"); printf("A quantidade de colunas de A e diferente do numero de linhas de B.\n"); return 0; } // Carregando matriz A printf(" \n CARREGAMENTO DA MATRIZ A \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colA;j++) { printf("A[%d][%d] = ",i+1,j+1); scanf("%f",&A[i][j]); } } // Carregando matriz B printf(" \n CARREGAMENTO DA MATRIZ B \n \n"); for(i=0;i<linB;i++) { for(j=0;j<colB;j++) { printf("B[%d][%d] = ",i+1,j+1); scanf("%f",&B[i][j]); } } // Imprimindo a matriz A printf("\n MATRIZ A \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colA;j++) { if(j!=(colA-1)) printf("%.2f \t",A[i][j]); else printf("%.2f \n",A[i][j]); } } printf("\n \n"); system("pause"); // Imprimindo a matriz B printf("\n MATRIZ B \n \n"); for(i=0;i<linB;i++) { for(j=0;j<colB;j++) { if(j!=(colB-1)) printf("%.2f \t",B[i][j]); else printf("%.2f \n",B[i][j]); } } for(k1=0;k1<linA;k1++) { for(k2=0;k2<colB;k2++) { temp=0.0; for(i=0;i<colA;i++) { temp=temp+A[k1][i]*B[i][k2]; } C[k1][k2]=temp; } } printf("\n \n"); system("pause"); printf("\n MATRIZ C = A x B \n \n"); for(i=0;i<linA;i++) { for(j=0;j<colB;j++) { if(j!=(colB-1)) { printf("%.2f \t",C[i][j]); } else { printf("%.2f \n",C[i][j]); } } } return 0; }
  4. Alguém poderia me ajudar. Escreva um programa em C que permite ao usuário digitar números reais maiores que 4.88 para preencher as matrizes A16 x 16 e matriz B16 x 16. Além disso, o programa deverá calcular e mostrar na sequência, os resultados dos itens a seguir: Fazer o produto entre as duas matrizes e armazenar em uma 3a matriz; multiplicar os elementos da diagonal principal da matriz A pela diagonal secundária da matriz B e armazenar na diagonal principal de uma 4a matriz. Os outros elementos serão da 3a matriz; Calcular a média geral das matrizes resultantes dos itens I e II. Identificar e mostrar todos os elementos que são maiores 32% do que o valor da média de cada matriz resultante. Fazer os cálculos individualmente para cada matriz resultante dos itens I e II. Cria um vetor do tamanho da matriz 3a do item I e preencher com todos os elementos dessa matriz na ordem crescente. Cria um vetor do tamanho da matriz 4a do item II e preencher com todos os elementos dessa matriz na ordem decrescente. Dividir os elementos da diagonal secundária da matriz 3a do item I por 4.88 se os elementos forem pares, caso contrário, divide por 8; Armazenar o resultado dos itens VI em um vetor 1 de tamanho adequado; Identificar os elementos das colunas 8 e 16 da matriz 4a do item II que são maiores que 16 e armazenar no vetor 1, após os número do item VII. Obs.: inicie mostrando os elementos das matrizes que foram digitados pelo usuário. Depois, cada item deve ter seu resultado mostrado antes de calcular o próximo item.
  5. Esse início já entendi. E como armazenar o produto do primeiro vetor pelo segundo (sentido decrescente) em um terceiro vetor dos extremos para o centro alternadamente da esquerda para direita até chegar ao centro do terceiro vetor?
  6. Escreva um programa (linguagem C) que realize o produto de dois vetores da seguinte forma: o produto do primeiro vetor no sentido crescente pelo segundo vetor no sentido decrescente e armazenar em um terceiro vetor dos extremos para o centro alternadamente da esquerda para direita até chegar ao centro do terceiro vetor.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...