Ir ao conteúdo
  • Cadastre-se

Jonatha Lima

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

  1. Mano, deu tudo certo! Muito obrigadooo (y)
  2. Pessoal comecei um trabalho, tenho que entregar depois de amanhã! So tem uma parte que falta concluir, que é o item "D". Segue os requisitos: Segue o script: #include <time.h>#include <iostream>#include <cstdlib>#include <stdlib.h>#include <stdio.h>#include <Math.h>using namespace std;int M, N;int numlinhas, numcolunas, limite;int matriz[100][100];int menor = 400;int menor2 = 400;int maior = 0;int maior2 = 0;int aleatorio;int numerosaleatorios[1000];float media;void carrega(){ srand(time(NULL)); for (M=0; M<numlinhas; M++){ for (N=0; N<numcolunas; N++){ aleatorio = matriz[M][N] = rand()%400+1; numerosaleatorios[aleatorio] += 1; } }}void imprime(){ for (M=0; M<numlinhas; M++){ for (N=0; N<numcolunas; N++){ printf("%5d", matriz[M][N]); }cout<<"\n";cout<<"\n"; }}void imprimeqtdvezes(){ cout<<"ITEM A:"<< endl; for (int i = 0; i <= 400; i++){ if(numerosaleatorios[i] != 0){ cout << "O numero " << i << " foi repetido " << numerosaleatorios[i] << " vez(es)." << endl; } }}void menornumero(){ cout << "\n";cout << "ITEM B:" << endl; for(int M=0; M<numlinhas; M++){ for (int N=0; N<numcolunas; N++){ if (matriz[M][N]<menor){ menor=matriz[M][N]; } } }}void calculasoma2menores(){ menornumero(); for (int M=0; M<numlinhas; M++){ for (int N=0; N<numcolunas; N++){ if (matriz[M][N]>menor and matriz[M][N]<menor2){ menor2=matriz[M][N]; } } } }void maiornumero(){cout << "ITEM C:" << endl; for (int M=0; M<numlinhas; M++){ for (int N=0; N<numcolunas; N++){ if (matriz[M][N]>maior){ maior=matriz[M][N]; } } }}void calculadiferenca2maiores(){ maiornumero(); for (int M=0; M<numlinhas; M++){ for (int N=0; N<numcolunas; N++){ if (matriz[M][N]<maior and matriz[M][N]>maior2){ maior2=matriz[M][N]; } } }}void media_num(){ cout << "\n"; float total; for (M=0; M<=numlinhas; M++){ for (N=0; N<=numcolunas; N++){ total = total + matriz[M][N]; } media = total/(numlinhas * numcolunas); }}void dif_media(){ media_num(); int valoraprox = matriz[M][N]; for (M=0; M<numlinhas; M++) for (N=0; N<numcolunas; N++) if (valoraprox == media){ cout<< "O valor aproximado e: " << valoraprox; } if (valoraprox and matriz[M][N] < media){ if (matriz[M][N] > valoraprox){ cout << "O valor aproximado e: " << valoraprox; } } if (matriz[M][N] and valoraprox > media){ if (matriz[M][N] < valoraprox){ cout << "O valor aproximado e: " << valoraprox; } } if (matriz[M][N] > media and valoraprox < media){ if ((matriz[M][N] - media) < (media - valoraprox)){ cout << "O valor aproximado e: " << valoraprox; } } if (matriz[M][N] < media and valoraprox > media){ if ((media - matriz[M][N]) < (valoraprox - media)){ cout << "O valor aproximado e: " << valoraprox; } } }/*void pesquisa(){ int num_menor; for (int M=0;M<numlinhas;M++) for (int N=0;N<numcolunas;N++) if(matriz[M][N]==num_menor){ } cout<<num_menor<<" esta na posicao "<<N+1<<" da linha "<<M+1<<"\n";}*/int main(){cout << "*************** Grupo XV - Matriz M x N - JONATHA LIMA *************** " << endl << endl;while (1){cout << "Numero de linhas: ";cin >> numlinhas;cout << "Numero de colunas: ";cin >> numcolunas;if (numlinhas * numcolunas <= 300){cout << "\n";carrega();imprime();imprimeqtdvezes();calculasoma2menores();cout << menor << " é o menor numero, " << menor2 << " é o segundo menor numero.\n"; cout << "O resultado da soma dos dois menores numeros é: " << menor+menor2;cout<<"\n";cout<<"\n";calculadiferenca2maiores();cout << maior << " é o maior numero, " << maior2 << " é o segundo maior numero.\n"; cout << "O resultado da diferenca dos dois maiores numeros é: " << maior-maior2; cout<<"\n";cout<<"\n";media_num();cout << "a media e: " << media << endl <<endl;dif_media();//pesquisa();break; }else{cout << "\n";cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>> INSIRA VALORES VALIDOS : (Num. de Linhas * Num. de Colunas <= 300) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << endl << endl; } }} Agradeço muito quem puder me ajudar, THX
  3. Ah sim, tinha entendido errado, vou ver se consigo ajeitar aqui o cod, eu tava fazendo do jeito que o professor tava explicando, mas nem entendi, ja pelo seu método compreendi mais! So tem uma coisa que não to compreendendo. A variavel "valorproximo" e a media eu sei quais são. Qual seria o valor da matriz? matriz[M][N] é?
  4. Segue o que eu consegui fazer, mas ta retornando ainda o primeiro valor da matriz e agora negativo. O que eu teria que mudar? void dif_media(){ int valoraprox=matriz[0][0]; float media; num_menor = media - matriz[0][0]; for (M=0; M<numlinhas; M++) for (N=0; N<numcolunas; N++) if (valoraprox == media){ cout<< " " << num_menor; } if (valoraprox and num_menor < media){ if (num_menor>valoraprox){ cout << " " << num_menor; } } if (num_menor and valoraprox > media){ if (num_menor < valoraprox){ cout << " " << num_menor; } } if (num_menor > media and valoraprox < media){ if ((num_menor - media) < (media - valoraprox)){ cout << " " << num_menor; } } if (num_menor < media and valoraprox > media){ if ((media - num_menor) < (valoraprox - media)){ cout << " " << num_menor; } } }
  5. Boa tarde @ScreenBlack, tem como me ajudar, sou iniciante também e estou com problema nesse ultimo item "D". Segue trecho do meu script void media(){ total = 0; for (M=0; M<=numlinhas; M++){ for (N=0; N<=numcolunas; N++){ total = total + matriz[M][N]; } float media = total/(numlinhas*numcolunas); } } void dif_media(){ float media; num_menor = media - matriz[0][0]; for (M=0; M<numlinhas; M++) for (N=0; N<numcolunas; N++) if (num_menor<0){ num_menor=num_menor*-1; } else{ num_menor=num_menor*1; } cout<<"o numero da matriz que mais se aproxima é "<<num_menor<<endl; } O número que se aproxima da média, ta sendo sempre o primeiro numero da matriz!Gostaria de saber onde esta o erro. Obrigado!

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