Ir ao conteúdo
  • Cadastre-se

como fazer? dúvida no código


mark310879

Posts recomendados

A mais de 15 anos não uso linguagem C, nunca usei profissionalmente... Meu filho está cursando mecatrônica e ontem nos deparamos com uma questão do exercício dele e confesso que não soube resolver... segue abaixo:

Questão: Uma Matriz contém notas obtidas pelos alunos em um teste de classe. Suponha que o número de alunos seja 40. As notas estão entre 0 e 100. Escreva um programa para traçar um histograma. Para facilitar pode desenhar as barras na direção horizontal.

Bom... Desde já agradeço a todos que nos ajudarem a desenvolver e entender melhor essa questão...

Link para o comentário
Compartilhar em outros sites


#include <stdio.h>
#include <stdlib.h>

int main(){
int notas[40]; // Matriz das notas
int nota; // Pega nota

// Pega os 40 valores
for(int z = 0; 40 > z; z++){
scanf("%d",&nota); // Pega Valor
notas[z] = nota; //Adiciona na matriz
}

printf("\n"); // Pula uma linha

// Imprime os 40 valores
for(int z = 0; 40 > z; z++){
printf("%d\n", notas[z]); // Imprimi matriz uma a uma
}

/* Gráfico improvisado */
printf("\n"); // Pula uma linha
char alt = 219;
for(int z2 = 10; z2 > 0; z2--){
for(int z = 0; 40 > z; z++){
if(notas[z] >= 10*(z2)){
printf("%c", alt); // Imprimi matriz uma a uma
}else{
printf(" ", alt); // Imprimi matriz uma a uma
}
}
printf("\n"); // Pula uma linha
}


system("PAUSE"); // Para o programa não fechar logo que terminar

return 0;
}

Cara, só o gráfico que acho meio difícil fazer, já que no em c é só no cmd. Se você quiser um grafico de verdade, o codigo vai ficar mais complicado. No entanto fiz um gráfico improvisado. Não fiz o codigo completo, falta adicionar limites, para não poder digitar numeros acima de 100 e baixo de 0.

Link para o comentário
Compartilhar em outros sites

Amigo obrigado mesmo... vou testar aqui e dou retorno... Me aprofundei muito no Delphi/Pascal... já em C... Obrigado mais uma vez...


#include <stdio.h>
#include <stdlib.h>

int main(){
int notas[40]; // Matriz das notas
int nota; // Pega nota

// Pega os 40 valores
for(int z = 0; 40 > z; z++){
scanf("%d",&nota); // Pega Valor
notas[z] = nota; //Adiciona na matriz
}

printf("\n"); // Pula uma linha

// Imprime os 40 valores
for(int z = 0; 40 > z; z++){
printf("%d\n", notas[z]); // Imprimi matriz uma a uma
}

/* Gráfico improvisado */
printf("\n"); // Pula uma linha
char alt = 219;
for(int z2 = 10; z2 > 0; z2--){
for(int z = 0; 40 > z; z++){
if(notas[z] >= 10*(z2)){
printf("%c", alt); // Imprimi matriz uma a uma
}else{
printf(" ", alt); // Imprimi matriz uma a uma
}
}
printf("\n"); // Pula uma linha
}


system("PAUSE"); // Para o programa não fechar logo que terminar

return 0;
}

Cara, só o gráfico que acho meio difícil fazer, já que no em c é só no cmd. Se você quiser um grafico de verdade, o codigo vai ficar mais complicado. No entanto fiz um gráfico improvisado. Não fiz o codigo completo, falta adicionar limites, para não poder digitar numeros acima de 100 e baixo de 0.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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