Ir ao conteúdo
  • Cadastre-se

C dificuldades em montar um programa em c


Posts recomendados

estou com dificuldades em montar um programa que leia uma matriz de 5 linhas e 4 colunas contendo as seguintes informações sobre alunos de uma disciplina, sendo todas as informações do tipo inteiro:

primeira coluna: numero de matricula

segunda coluna:media das provas

terceira coluna:media dos trabalhos

quarta coluna:nota final

 

elabore um programa que:

leia as 3 primeiras informações de cada aluno

calcule a nota final como sendo a soma da media das provas e da media dos trabalhos

exiba a matricula do aluno que obteve a maior nota final(assuma que só existe uma nota maior)

exiba a media aritmética das notas finais.

 

 

sou novato em programação e estou com dificuldades, aguem pode me ajudar e me explicar como faço esse programa?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@leandro silva de carvalho     para pegar os dados  você usa o comando scanf , e guarda na matriz onde as linhas fica dentro do primeiro colchete   [  ]   e as colunas no segundo colchete   [   ] ,    e como essa matriz terá cinco linhas então só poderá  ter cinco alunos, hum em cada linha e os dados referentes a ele nas 4 colunas, e as linhas e as colunas começam de zero ,   então precisa colocar dois laços de repetição , sendo um dentro do outro , e essa matriz seria assim  :

matriz_b.thumb.jpg.a4ba6fce24e3e567d747133c949f3def.jpg

 

então você coloca um aluno em cada linha e os dados dele em cada coluna,  assim no primeiro quadrado da coluna você coloca o número da matrícula, no segundo coloque a média das prova ,  no terceiro coloque a média dos trabalhos e no quarto coloque a nota final,  e sabendo onde está cada dado você calcula o resultado e imprime na tela usando o comando printf

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 11 meses depois...

Não estou conseguindo imprimir o exercicio C

 

 

#include <stdio.h>
#include <stdlib.h>
/*37) Faca um programa que leia uma matriz, de 5 linhas e 4 colunas, contem as seguintes  ́
informações sobre alunos de uma disciplina, sendo todas as informações do tipo inteiro:  ̃
 Primeira coluna: numero de matrıcula (use um inteiro)
 Segunda coluna: media das provas
 Terceira coluna: media dos trabalhos
 Quarta coluna: nota final.
Elabore um programa que:
(a) Leia as três primeiras informações de cada aluno  ̃
(b) Calcule a nota final como sendo a soma da media das provas e da média dos trabalhos
(c) Imprima a matrícula do aluno que obteve a maior nota final (assuma que só existe uma
maior nota)
(d) Imprima a media aritmética das notas finais. */
int main(){
    int i,j, M[2][4], maior;
    float mediafinais=0;
    for(i=0;i<2;i++){
        for(j=0;j<4;j++){
            printf("Numero da Matricula: [%d][%d]\n",i,j);
            scanf("%d", &M[0]);
            printf("Media das provas: \n");
            scanf("%d", &M[1]);
            printf("Media dos trabalhos: \n");
            scanf("%d", &M[2]);
        }
    }
    for(i=0;i<2;i++){
        for(j=0;j<4;j++){
            M[3] = M[1] + M[2] / 2;
            mediafinais = M[3] + M[3] / 5;
        }
    }
    maior=M[0][3];
    for(i=0;i<=2;i++){
        for(j=0;j<=4;j++){
            if(maior<M[j]){
                    maior=M[0];
            }
        }
    }
    printf("\nMaior Nota Final e do aluno com a matricula: %d\n", maior);
    printf("\n\nMedia aritmetica das notas finais: %.2f ", mediafinais);
    system("pause");
}

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@guibanks2     seu código está bom ,  e no enunciado não está pedindo para calcular a media aritmética não ,  apenas a matricula do aluno com a maior nota final ,   então seu código poderia ser assim  :

#include <stdio.h>
#include <windows.h>
/*             0     1    2     3   4      5      6      7         8  */
typedef enum{black,blue,green,cyan,red,magenta,brown,lightgray,darkgray,   /* nome das cores */
lightblue,lightgreen,lightcyan,lightred,lightmagenta,yellow,white} colors;
/*  9         10         11        12        13         14    15 */

static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/
static int __FOREGROUND = lightgray;

void textcolor2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letras;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letras + (__BACKGROUND << 4));
}
int main(){
    int i,j, M[2][4], maior;
    float mediafinais=0;
    for(i=0;i<2;i++){                              /* aqui serão dois alunas */
        /*for(j=0;j<4;j++){ esse loop não precisa */
        textcolor2(14,0);
        printf("Numero da Matricula [%d] : ",i      /*,j*/);
        textcolor2(11,0);
        scanf("%d", &M[i][0]);                     /* matricula */
        textcolor2(14,0);
        printf("Media das provas ------ : ");
        textcolor2(11,0);
        scanf("%d", &M[i][1]);                     /* primeira media */
        textcolor2(14,0);
        printf("Media dos trabalhos --- : ");
        textcolor2(11,0);
        scanf("%d", &M[i][2]);                     /* segunda media */
        M[i][3] = (M[i][1] + M[i][2]) / 2;         /* nota final */
        /*}*/
    }
    /*for(i=0;i<2;i++){
        for(j=0;j<4;j++){
            M[i][3] = (M[i][1] + M[i][2]) / 2;
            mediafinais = M[i][3] + M[3] / 5;
        }
    }*/
    maior=M[0][3];
    int al=0;
    for(i=0;i<2;i++){
        /*for(j=0;j<=4;j++){*/
            if(maior<M[i][3]){
                maior=M[i][3];
                al=i;
            }
        /*}*/
    }
    textcolor2(12,14);
    printf("\n A Maior Nota Final eh do aluno com a matricula :");
    textcolor2(15,9);
    printf(" %d \n\n",M[al][0]);
    /*printf("\n\nMedia aritmetica das notas finais: %.2f ", mediafinais); essa não foi pedida no enunciado */
    textcolor2(10,12);
    system("pause");
    textcolor2(15,0);
    printf("\n\n\n");
}

 

Link para o comentário
Compartilhar em outros sites

@vangodp  pode me ajudar? tentei fazer e todo jeito e n acho o erro.

A organização de um evento esportivo deseja um programa que faça a leitura do nome e a pontuação de cada um dos 10 participantes e exiba o nome do vencedor. Elabore este programa.

 

< #include <stdio.h>


int main() {
    int cont, x=0;
    float pont1, pontM, pontMaior;
    char nome1[10], nomeM[10], campeao[10];

            printf("Insira o nome do atleta: .\n");
            scanf("%s", &nome1);
            printf("Insira a pontuacao do atleta: \n");
            scanf("%.2f", &pont1);

   for(cont=1;cont<=10;cont++){
            printf("Insira o nome do atleta: .\n");
            scanf("%s", nomeM);
            printf("Insira a pontuacao do atleta: \n");
            scanf("%.2f", pontM);
   }
             if(pontM>pont1){
                   campeao==nomeM;
                   pontMaior==pontM;
                }
                else{
                    campeao==nome1;
                    pontMaior==pont1;
                }
                x= x + 1;

                printf("/nO seu campeao e: %s, com a pontuacao de: %.2f. Parabens!!", campeao, pontMaior);

    return 0;

adicionado 1 minuto depois

@devair1010 pode me ajudar a achar o erro?

A organização de um evento esportivo deseja um programa que faça a leitura do nome e a pontuação de cada um dos 10 participantes e exiba o nome do vencedor. Elabore este programa.

 

< #include <stdio.h>


int main() {
    int cont, x=0;
    float pont1, pontM, pontMaior;
    char nome1[10], nomeM[10], campeao[10];

            printf("Insira o nome do atleta: .\n");
            scanf("%s", &nome1);
            printf("Insira a pontuacao do atleta: \n");
            scanf("%.2f", &pont1);

   for(cont=1;cont<=10;cont++){
            printf("Insira o nome do atleta: .\n");
            scanf("%s", nomeM);
            printf("Insira a pontuacao do atleta: \n");
            scanf("%.2f", pontM);
   }
             if(pontM>pont1){
                   campeao==nomeM;
                   pontMaior==pontM;
                }
                else{
                    campeao==nome1;
                    pontMaior==pont1;
                }
                x= x + 1;

                printf("/nO seu campeao e: %s, com a pontuacao de: %.2f. Parabens!!", campeao, pontMaior);

    return 0;

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...