Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Lucas Tezolini Herler

Membros Juniores
  • Total de itens

    13
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Obrigado !! Agora deu 100% certo ! Realmente não sabia como jogar a estrutura dentro da função. Agora está esclarecido
  2. Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do usuário a informação de 5 alunos, armazene em vetor essa estrutura e imprima os dados na tela; Assim o fiz, porém está dando os seguintes erros na tela (segue a imagem); Alguém sabe o que poderia ser ? Não to conseguindo achar tal erro.. Já pesquisei em outros sites e tudo mais. /* 2. Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do usuário a informação de 5 alunos, armazene em vetor essa estrutura e imprima os dados na tela;*/ #include<stdio.h> #include<string.h> #define t 5 typedef struct { char nome[900], curso[900]; int num_mat; }estudante; void receber(char aluno[t].nome, char aluno[t].curso, int aluno[t].num_mat) { int i; for (i=0;i<t;i++) { printf("Nome: "); fflush(stdin); fgets(aluno[i].nome,900,stdin); printf("Curso: "); fflush(stdin); fgets(aluno[i].curso,900,stdin); printf("Num matricula: "); scanf("%d",&aluno[i].num_mat); } } void mostrar(char aluno[t].nome, char aluno[t].curso, int aluno[t].num_mat) { int i; for (i=0;i<t;i++) { printf("Nome: %s", aluno[i].nome); printf("Curso: %s",aluno[i].curso); printf("Num matricula: %d ", aluno[i].num_mat); } } int main () { estudante aluno[t]; receber(aluno); mostrar(aluno); return 0; }
  3. Considerei o que disse e realizei as alterações, o código está assim. O problema é que não está contando de forma correta os acertos dos alunos, uma vez que quando eu testei o código e pus todas as respostas do aluno 0 de acordo com o gabarito, apareceu que ele tinha só 1 acerto. #include<stdio.h> #include<locale.h> #define l 3 #define c 5 void gabarito (char gab[c]) { printf("Criando o gabrito: \n\n"); int i, j; for (i=0;i<5;i++) { printf("Questão %d: \nMarque a, b, c, d ou e = ", i+1); scanf("%c", &gab[i]); getchar(); } } void ler (char m[l][c], char gab[c]) { int i, j, acertos[3]; for (i=0;i<l;i++) { acertos[i] = 0; printf("Informe as respostas do aluno %d \n", i); for (j=0;j<c;j++) { printf("Questão %d: \n", j+1); scanf("%c",&m[i][j]); getchar(); if (m[i][j] == gab[i]) { acertos[i] = acertos[i] + 1; } } } printf("\n\nINFORMANDO O RESULTADO !\n\n"); for (i=0;i<l;i++) { printf("O aluno %d obteve %d acertos \n", i, acertos[i]); } getchar(); } int main () { setlocale(LC_ALL, "Portuguese_Brazil"); int acertos[3]; char gab[c], m[l][c]; gabarito(gab); ler(m, gab); return 0; }
  4. obrigado, mano ! surgiu uma outra dúvida aqui: as funções na ''main'' devem estar na ordem que eu vou chamando as questões ?
  5. - esse ''novo jeito'' seria verificar cada valor de cada matriz e guardar apenas o maior deles. Ex: m1[0][0] = 32, m2[0][0] = 40, na nova matriz m3, o valor de posição 0,0 vai ser 40 -não to entendendo, na minha visão, todas as funções que eu usei têm que retornar algo.. A gabarito me diz o as respostas corretas e a ler me diz quantas questões certo aluno acertou - ok, alterei isso, obrigado - considerei o que disse, porém to usando todas as variáveis, acabei de verificar, ou cometi alguma redudância - quando eu coloquei a int main no fim do código apareceu um warning
  6. Olá, me disseram um outro jeito de fazer isso e assim o implementei. Porém na hora de imprimir, é mostrado valores aleatórios.. Alguém sabe o que poderia ser ? /* 6. Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores elementos entre as primeiras;*/ #include<stdio.h> #include<locale.h> #define t 2 int main () { setlocale(LC_ALL,"Portuguese_Brazil"); int m1[t][t], m2[t][t], m3[t][t], i, j; preencher(m1); preencher(m2); mostrar(m3); } int preencher (int m1[t][t]) { int i,j; for (i=0;i<t;i++) { for (j=0;j<t;j++) { printf("Digite o valor de posição %d%d ", i, j); scanf("%d ", &m1[i][j]); } } } int ler (int m1[t][t], int m2[t][t], int m3[t][t]) /* função que vai realizar a operação*/ { int i,j; for (i=0;i<t;i++) { for (j=0;j<t;j++) { if (m1[i][j] > m2[i][j]) { m3[i][j] = m1[i][j]; } else { m3[i][j] = m2[i][j]; } } } } int mostrar (int m3[t][t]) { int i, j; for (i=0;i<t;i++) { for (j=0;j<t;j++) { printf("%d \t", m3[i][j]); } printf("\n"); } }
  7. eu realmente não sei como retornar todo o vetor.. Seria return gab[5] ou só return gab ?
  8. entendi, porém não to conseguindo retornar o vetor todo.. Alguma ideia ?
  9. ''- A função ler() não recebe o gabarito como parâmetro de entrada, logo não dá pra comparar pois não tem os valores do gabarito.'' Como eu faço isso ?
  10. #include<stdio.h> #include<locale.h> #define l 3 #define c 5 int main () { setlocale(LC_ALL, "Portuguese_Brazil"); int i, j, acertos[3]; char gab[c], m[l][c]; gabarito(gab); ler(m); } gabarito (char gab[c]) { printf("Criando o gabrito: \n\n"); int i, j; for (i=0;i<5;i++) { printf("Questão %d: \nMarque a, b, c, d ou e = ", i+1); scanf("%c", &gab[i]); getchar(); } } ler (char m[l][c]) { int i, j, acertos[i]; char gab[5]; for (i=0;i<l;i++) { acertos[i] = 0; printf("Informa as respostas do aluno %d \n"); for (j=0;j<c;j++) { printf("Questão %d: \n", j+1); scanf("%c",&m[i][j]); getchar(); if (m[i][j] = gab[i]) { acertos[i] = acertos[i] + 1; } printf("\n"); } } printf("\n\nINFORMANDO O RESULTADO !\n\n"); for (i=0;i<l;i++) { for (j=0;j<c;j++) { printf("O aluno %d obteve %d acertos \n", i, acertos[i]); } } getchar(); } 10. Leia uma Matriz 3 x 5 que se refere às respostas de 5 questões de múltipla escolha, referente a 3 alunos. Leia também um vetor de 5 posições contendo o gabarito de respostas que podem ser a, b, c, d ou e. Seu programa deverá comparar as respostas de cada candidato com o gabarito e emitir um vetor denominado resultado, contendo a pontuação correspondente a cada aluno. Esse programa que eu fiz só lê o gabarito e depois ele trava.. Alguém sabe onde poderia estar o erro ? Não to conseguindo visualizar. Agradeço desde já
  11. 6. Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores elementos entre as primeiras. Sei que a ideia é ordená-las em ordem crescente e pegar os quatro últimos elementos de cada uma, a partir daí tenho que criar a nova matriz. A minha dúvida é: como pegar os maiores elementos num vetor bidimensional ?
  12. Estou com dúvida nessa questão de C++, galera, ele simplesmente não ta indicando o valor, quando ele existe na matriz. Sempre está acusando ''não encontrado!" e não sei o porquê. Alguém poderia me ajudar ? Agradeço desde já !7. Leia uma matriz 5 x 5, leia também um valor X. O programa deverá fazer uma busca desse valor na matriz e, ao final escrever a localização (linha e coluna) ou uma mensagem de “não encontrado” #include<stdio.h> #include<locale.h> #define t 2 int main () { setlocale(LC_ALL,"Portuguese_Brazil"); int m[t][t], i, j, x, lin, col, achou; preencher(m); indicar(x); busca(m); } int preencher(int m[t][t]) { int i, j; for (i=0;i<t;i++) { for (j=0;j<t;j++) { printf("Digite o valor de posição %d%d: ", i, j); scanf("%d",&m[j]); } } } int indicar (int x) { printf("Digite o valor a ser procurado: \n"); scanf("%d", &x); } int busca (int m[t][t]) { int i, j, lin, col, x, achou = 0; for (i=0;i<t;i++) { for (j=0;j<t;j++) { if (m[j] == x) { lin = i; col = j; achou = 1; } } } if (achou == 1) { printf("O valor encontrado é %d na posição %d %d \n", x, lin, col); } else { printf("Valor não encontrado !"); } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×