Ir para conteúdo
Fórum Script Brasil

poxoreo1984

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por poxoreo1984

  1. Não estou conseguindo fazer o programa do calculo da multiplicação de 2 matrizes para fazer a transposta do resultado dela.

    #include <stdio.h>
    #include <stdlib.h>
    
    #define T_BUFFER 512
    
    int main(void)
    {
        int *numeros, q_linhas = 0, q_colunas = 0, linhas, colunas;
        char buffer[T_BUFFER];
        /* Pega a quantidade de linhas da matriz */
        do {
            printf("Digite a quantidade de linhas da matriz\n");
            if (fgets(buffer, T_BUFFER, stdin) != NULL) {
                if (buffer[0] != '\n') {
                    if (sscanf(buffer, "%i", &q_linhas) != 1) {
                        printf("Digite um numero\n");
                    }
                } else {
                    printf("Digite uma entrada valida!\n");
                }
            }
        } while (q_linhas <= 0);
    
        /* Pega a quantidade de colunas da matriz */
        do {
            printf("Digite a quantidade de colunas da matriz\n");
            if (fgets(buffer, T_BUFFER, stdin) != NULL) {
                if (buffer[0] != '\n') {
                    if (sscanf(buffer, "%i", &q_colunas) != 1) {
                        printf("Digite um numero\n");
                    }
                } else {
                    printf("Digite uma entrada valida!\n");
                }
            }
        } while (q_colunas <= 0);
    
        /* Reserva memoria para a matriz */
        numeros = malloc(sizeof(*numeros)*q_linhas*q_colunas);
        if (numeros == NULL) {
            perror("Erro ao reservar memoria!");
            exit(EXIT_FAILURE);
        }
    
        /* Lê a matriz do úsuario */
        for (linhas = 0; linhas < q_linhas; linhas++) {
            for (colunas = 0; colunas < q_colunas; colunas++) {
                int pega_novamente = 1;
                /* Pega um numero */
                do {
                    printf("[%i][%i]\n", linhas, colunas);
                    if (fgets(buffer, T_BUFFER, stdin) != NULL) {
                        if (buffer[0] != '\n') {
                            if (sscanf(buffer, "%i", &numeros[(linhas*q_colunas)+colunas]) == 1) {
                                pega_novamente = 0;     /* Sai do "do {} while()" */
                            }
                        } else {
                            printf("Digite uma entrada valida!\n");
                        }
                    }
                } while (pega_novamente);
            }
        }
    
        /* Mostra a matriz */
        printf("Matriz digitada\n");
        for (linhas = 0; linhas < q_linhas; linhas++) {
            for (colunas = 0; colunas < q_colunas; colunas++) {
                printf("%i,", numeros[(linhas*q_colunas)+colunas]);
            }
            putchar('\n');
        }
    
        getchar();      /* Espera o enter */
      	/* Libera a memoria */
        free(numeros);
        return(0);
    }

     

  2. Questão 3 (3pontos)  – Sabe-se que numa matriz A com 10 linhas e 3 colunas está armazenado o gabarito de um concurso, onde na primeira coluna fica armazenado a nota da prova objetiva, na segunda coluna fica armazenado a nota da prova subjetiva e na terceira coluna está armazenado a nota mínima a ser alcançada na prova objetiva para que seja corrigida a prova subjetiva. A partir disso, desenvolva um programa em C que lido as informações do gabarito para a matriz A diga: Qual a porcentagem de participantes que não tiveram a prova subjetiva corrigida? Qual a média final dos participantes que tiveram a prova subjetiva corrigida? Considerando que a média final é dada pela seguinte fórmula:, onde Mp é a média do participante que teve a prova subjetiva corrigida, PO é a nota da prova objetiva, PS é a nota da prova subjetiva, MF é a média final dos participantes que tiveram a prova subjetiva corrigida  e n a quantidade de participantes que tiveram a prova subjetiva corrigida

×
×
  • Criar Novo...