Ir ao conteúdo
  • Cadastre-se

edupiombini

Membro Júnior
  • Posts

    17
  • Cadastrado em

  • Última visita

Reputação

18
  1. Em minhas tentativas, consegui chegar a calcular quantos alunos ficaram acima de uma média constante. O exercício pede para mostrar em tela o nome dos alunos e quais ficaram acima da média da turma, que é uma variável. Vocês possuem alguma dica de como posso imprimir o nome dos alunos acima da média da turma e como calcular a média da turma consequentemente? #include <stdio.h> #include <cstdlib> #include <iostream> int main() { int qtdAl=0; char aluno[qtdAl][100]; float n1[qtdAl], n2[qtdAl], n3[qtdAl]; int media[qtdAl], cont=0; printf("Entre com a quantidade de Alunos: "); scanf("%d", &qtdAl); for(int i=0; i<qtdAl; i++) { printf("\nEntre com o nome do aluno: "); scanf("%s", &aluno[i]); printf("Entre a primeira nota deste aluno: "); scanf("%f", &n1[i]); printf("Entre a segunda nota deste aluno: "); scanf("%f", &n2[i]); media[i]=(n1[i]+2*n2[i])/3; } for(int i=0; i<qtdAl; i++) { if(media[i]>5) { cont++; } } if(cont==0) { printf("\n\nNenhum aluno obteve media acima de 5!\n\n"); } else{ printf("\n\nQuantidade de alunos com media acima de 5: %d ", cont); printf("\n\n"); } system("PAUSE"); return -1; }
  2. Obrigado a todos que me ajudaram, o problema foi resolvido! Segue o código. #include<stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int a[100], n, i, sum=0, maior, menor; float avg; printf("Entre com o tamanho do vetor [1-100]: "); scanf("%d",&n); printf("Entre com os %d elementos: ",n); for(i=0; i<n; i++) { scanf("%d",&a[i]); sum += a[i]; } avg = (float)sum/n; printf("Soma=%d \t Média=%.2f",sum,avg); maior = a[0]; for(i = 1; i < n; i++) { if(maior < a[i]) { maior = a[i]; } } printf("\n\nO maior elemento é: %d", maior); menor = a[0]; for(i = 1; i < n; i++) { if(menor>a[i]) { menor = a[i]; } } printf("\n\nO menor elemento é: %d", menor); float total; n=n-2; sum = sum-menor-maior; total=sum/n; printf("\n\nA nova média é: %.2f", total); return 0; }
  3. @V!OLADOR Muito obrigado, novamente! Dessa vez deu tudo certo, problema resolvido!
  4. Tudo certo com o condicional, porém, a saída não faz a soma correta, acredito que esteja mostrando um endereço de memória Matriz resultante: 6487120 6487124 6487128 6487132 Alguem poderia me ajudar, por favor? Agradeço desde já! #include <stdio.h> int main () { int r1, c1, r2, c2; printf("\nDigite o número de linhas da primeira matriz: \n"); scanf("%d", &r1); printf("\nDigite o número de colunas da primeira matriz: \n"); scanf("%d", &c1); printf("\nDigite o número de linhas da segunda matriz: \n"); scanf("%d", &r2); printf("\nDigite o número de colunas da segunda matriz: \n"); scanf("%d", &c2); if(r1 == r2 && c1 == c2){ int m1 [r1] [c1]; int m2 [r2] [c2]; int R [r2] [c2]; int i,j; printf("\nDigite os valores da primeira matriz: \n"); for( i = 0; i < r1; i++){ for( j = 0; j < c1; j++){ scanf("%d", &m1[i][j]); } } printf("\nDigite os valores da segunda matriz: \n"); for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ scanf("%d", &m2[i][j]); } } for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ R[i][j] = m1[i][j] + m2[i][j]; } } printf("\nMatriz resultante: \n"); for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ printf("\t%d", &R[i][j]); } } } else{ printf("\nMatrizes incompativeis para a soma!\n"); } return 0; }
  5. @V!OLADOR muito obrigado! foi de grande ajuda! Alguém saberia o porque de nunca entrar no primeiro "if" mesmo quando são digitados valores idênticos? Sempre estou recebendo a mensagem que são incompatíveis para soma. Agradeço desde já! #include <stdio.h> int main () { int r1, c1, r2, c2; printf("\nDigite o número de linhas da primeira matriz: \n"); scanf("%d", &r1); printf("\nDigite o número de colunas da primeira matriz: \n"); scanf("%d", &c1); printf("\nDigite o número de linhas da segunda matriz: \n"); scanf("%d", &r2); printf("\nDigite o número de colunas da segunda matriz: \n"); scanf("%d", &c1); if(c1 == c2 && r1 == r2){ int m1 [r1] [c1]; int m2 [r2] [c2]; int R [r2] [c2]; int i,j; printf("\nDigite os valores da primeira matriz: \n"); for( i = 0; i < r1; i++){ for( j = 0; j < c1; j++){ scanf("%d", &m1[i][j]); } } printf("\nDigite os valores da segunda matriz: \n"); for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ scanf("%d", &m2[i][j]); } } for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ R[i][j]=m1[i][j]+m2[i][j]; } } printf("\nMatriz resultante: \n"); for( i = 0; i < r2; i++){ for( j = 0; j < c2; j++){ printf("\t%d", &R[i][j]); } } } else{ printf("\nMatrizes incompativeis para a soma!\n"); } return 0; }
  6. @devair1010 fiz o teste e o resultado da média foi de 3.50 e da média 14
  7. @if. É uma lista de exercícios da disciplina "programação estruturada" que faz parte da minha graduação. Estou tentando resolver a lista para estudar para a primeira avaliação, semana que vem! @if. Sem respostas ainda Consegui fazer 6 de 10 exercícios, os outros busquei ajuda aqui no forum. Mas somente estou conseguindo avançar neste exercicio que estamos discutindo! Obrigado mais uma vez pela ajuda! #include<stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int a[100], n, i, sum=0, maior, menor; float avg; printf("Entre com o tamanho do vetor [1-100]: "); scanf("%d",&n); printf("Entre com os %d elementos: ",n); for(i=0; i<n; i++) { scanf("%d",&a[i]); sum += a[i]; } avg = (float)sum/n; printf("Soma=%d \t Média=%.2f",sum,avg); maior = a[0]; for(i = 1; i < n; i++) { if(maior < a[i]) { maior = a[i]; } } printf("\n\nO maior elemento é: %d", maior); menor = a[0]; for(i = 1; i < n; i++) { if(menor>a[i]) { menor = a[i]; } } printf("\n\nO menor elemento é: %d", menor); avg=0; if ((a[i]<maior) && (a[i]>menor)) avg+=a[i]; //desconsidera o maior avg = (float)sum/n-2; printf("\n\nME: %d", avg); return 0; }
  8. @if. tentei fazer da forma indicada aqui e la em cima e ele continua retornando o mesmos valores
  9. @devair1010 em qual parte do código devo inserir este trecho? se inserido no final , não obtenho nenhuma reposta. #include<stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int a[100], n, i, sum=0, maior, menor; float avg; printf("Entre com o tamanho do vetor [1-100]: "); scanf("%d",&n); printf("Entre com os %d elementos: ",n); for(i=0; i<n; i++) { scanf("%d",&a[i]); sum += a[i]; } avg = (float)sum/n; printf("Soma=%d \t Média=%.2f",sum,avg); maior = a[0]; for(i = 1; i < n; i++) { if(maior < a[i]) { maior = a[i]; } } printf("\n\nO maior elemento é: %d", maior); menor = a[0]; for(i = 1; i < n; i++) { if(menor>a[i]) { menor = a[i]; } } printf("\n\nO menor elemento é: %d", menor); int cont = 0; for(i=0; i<n; i++) { scanf("%d",&a[i]); if(a[i] > 1 && a[i] <7 ) { sum += a[i]; cont++; } } printf("a media eh %.2f\n",(float)sum / cont); return 0; }
  10. @if. Desculpe, não havia entendido. O que eu quero dizer é: o usuário sempre irá definir a dimensão. Portanto, o número é variável e não uma constatnte como 98. ex: se a dimensão for 20, a média deverá ser dividida por 18 elementos, no caso, n-2 como você mencionou @devair1010 Valeu! vou adicionar assim daqui pra frente! #include<stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int a[100], n, i, sum=0, maior, menor; float avg; printf("Entre com o tamanho do vetor [1-100]: "); scanf("%d",&n); printf("Entre com os %d elementos: ",n); for(i=0; i<n; i++) { scanf("%d",&a[i]); sum += a[i]; } avg = (float)sum/n; printf("Soma=%d \t Média=%.2f",sum,avg); maior = a[0]; for(i = 1; i < n; i++) { if(maior < a[i]) { maior = a[i]; } } printf("\n\nO maior elemento é: %d", maior); menor = a[0]; for(i = 1; i < n; i++) { if(menor>a[i]) { menor = a[i]; } } printf("\n\nO menor elemento é: %d", menor); return 0; }
  11. @devair1010 nesse caso eu estaria limitando entre 1 e 7 correto? a dificuldade que estou tendo é em fazer uma condicional (talvez?) onde se o valor for maior ou igual ao maior e menor ou igual ao menor, ele deve ser descartado e uma nova média será realizada. Excluindo assim o maior e o menor número digitado. Será que é viável?
  12. @if. Infelizmente, não posso geral valores aleatórios. Nos é informado que os valores devem ser lidos. Uma vez que encontrei o maior valor e o menor valor, seria possível retira-los do vetor e realizar uma nova media sem esses valores? Agradeço desde já!
  13. @devair1010 A soma das matrizes só possível se essas forem de mesma ordem, ou seja, devem possuir o mesmo número de linhas e colunas. Ainda estou tentando construir o código, até o momento só consigo fazer a leitura de duas matrizes, porém com o tamanho já definido. No problema, o usuario deve determinar a ordem das matrizes com uma entrada de 1 a 100. Agradeço desde já!
  14. Prezados, @devair1010 @RaphiaelGamer Obrigado pelas respostas! Consegui realizar a média e encontrar o menor e maior valor, mas como fazer para realizar uma nova média sem eles? Agradeço desde já! o código que construí é: < #include<stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int a[100], n, i, sum=0, maior, menor; float avg; printf("Entre com o tamanho do vetor [1-100]: "); scanf("%d",&n); printf("Entre com os %d elementos: ",n); for(i=0; i<n; i++) { scanf("%d",&a[i]); sum += a[i]; } avg = (float)sum/n; printf("Soma=%d \t Média=%.2f",sum,avg); maior = a[0]; for(i = 1; i < n; i++) { if(maior < a[i]) { maior = a[i]; } } printf("\n\nO maior elemento é: %d", maior); menor = a[0]; for(i = 1; i < n; i++) { if(menor>a[i]) { menor = a[i]; } } printf("\n\nO menor elemento é: %d", menor); return 0; } >
  15. Prezados, Preciso fazer um programa para ler n numeros reais (no maximo 100), e mostrar a medias dos valores sem os valores extremos. Onde a leitura dos numeros será encerrada quando o usuário digitar 0 ou chegarmos a 100. (obs: mas ele pode digitar numeros negativos e positivos) ex: 1 3 7 1 4 7 3 1 4 0 extremos: 1 e 7 (1 é menor valor e 7 é o maior valor) media = (3 + 4 + 3 + 4)/4 = 14/4 = 3.5 Porém, sou extremamente leigo em C++ Vocês podem me ajudar?

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