Ir ao conteúdo

Posts recomendados

Postado

O MEC precisa de sua ajuda para automatizar a correção das provas objetivas do ENEM! Escreva
um programa que leia um número inteiro n representando o número de questões (não há limite para o
número de questões). Em seguida leia as n respostas do gabarito e, em seguida, as n respostas do aluno.
Assuma que as respostas estão sempre entre 1 e 5. Depois o programa deve escrever na tela quantas
questões o aluno acertou e a string “acertos” ou “acerto” (para 1 acerto), conforme exemplo abaixo.
Exemplos:
Input                                                  Output
4                                                        2 acertos         
1 2 3 4
1 5 3 5

 

7                                                       1 acerto
1 2 3 2 1 5 4
3 3 3 3 3 3 3

 

Tô precisando de uma ajuda no código dessa questão na linguagem C.
 

  • Obrigado 1
Postado

@Igor Caldas     você pode usar vetores para guardar as respostas certas e as respostas do aluno ,  depois dois loop's para comparar as respostas ,  e Qual a sua dificuldade ?  ,  se já tiver feito algo sobre esse exercício , pode postar aqui , e ajudaremos .

  • Curtir 1
  • Obrigado 1
  • 2 anos depois...
Postado

Bom dia!

 

 

                                                                                                                   MATRIZES

 

O problema.

Pede para comparar valores nas posições dos vetores (ou vetor); gabarito, a primeira

linha, aluno, a segunda e as colunas como questionário. Os ponteiros do exercício

como escalares/índice de colunas.

 

Parece fácil?

Tavez seja mesmo.

 

Por exemplo,

Expresse a leitura do valor como quantidade de quesitos no exame;

... a alocação de memória e atribua os ponteiros gabarito e aluno;

... a leitura com laço da linha para gabarito;

...                       laço da linha para aluno;

... a reposição dos ponteiros para os endereços iniciais;

... a alocação de acertos;

... o laço que compara os valores em gabariro e aluno,

... que teste os valores para iguais, se verdadeiro, adicione 1+ acerto;

... se acerto tem valor não nulo,

... e é maior que 1, escrava "acertos",

...  senão escreva "acerto"

Fim da expressão

 

Pense deste modo: assuma que a linha (ou dado) é ideal, ou seja, não haverá linhas

sem formato, por exemplo, não haverá letras em campo numérico, e não haverá erros

de entrada, internos ou qualquer além do enunciado.

NÃO PENSE D+

 

Em algumas perguntas do fórum, regularmente, sugere e/ou argumentam que 2 arrays

em situações semelhantes são desnecessários, porque acessa um durante a extração do

outro e assim economiza alguma coisa…

BOBAGEM!!!

 

                                                   O momento é delas!

 

 

Por exemplo, com arranjos estáticos,

c'11 - gcc'11.4

#include <stdio.h>

typedef int questão;
int main ()
{
 /* isto define a memória  */
 questão quesito[BUFSIZ];
 /* isto solicita n */
 size_t n= 0;
 scanf ("%zu",&n);
/* isto define memória de ...  */
 questão *gabarito= quesito;
 questão *aluno= quesito + n;
/* isto ler ... */
 for (questão *ultima= gabarito + n ; gabarito<ultima ; ++gabarito)
     scanf (" %i",gabarito);
 for (questão *ultima= aluno + n ; aluno<ultima ; ++aluno)
     scanf (" %i",aluno);
/* isto reposiciona agaba...e determina  acerto's */
 gabarito= quesito;
 aluno= quesito + n;
 questão acert= 0;
 for (questão *ultima= gabarito + n ; gabarito<ultima ; ++aluno , ++gabarito)
     if (*aluno==*gabarito) ++acert;
/* isto exibe acerto's */
 if (acert) 
   { 
    printf ("%d%s",acert," acerto");
    if (acert>1) putchar ('s');
   }
 putchar ('\n');
}

 

 

— Uma expressão assim inicialmente já me satisfaz!

A outros nem tanto, então, faça a sua você mesmo!

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