Ir ao conteúdo
  • Cadastre-se

Polaris

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tudo que Polaris postou

  1. @arfneto a definição de minmax não tava no .h porque antes eu estava tentando com a função como "minmax", e depois alterei pra "valormm". Estava tentando certo no arquivo mas colei errado pra cá. Quanto aos includes funcionarem estando apenas nos headers, não sabia, bom saber. Quanto aos comentários, é claro que não fui eu que escrevi um por um, os includes são copiados de um arquivo pronto que utilizo. Quanto às variáveis, qual a grande vantagem de declarar uma por linha ou de declarar as variáveis de controle de loop dentro do comando? E por que não é bom as variáveis globais? Isso se aplica até para quando uso elas como controle de loop (como "i" ou "j")? Porque faço isso constantemente @devair1010 sério? não sabia da não necessidade de ser um header. Tem alguma vantagem/desvantagem de salvar necessariamente como header? Digo pois estou iniciando agora no mundo da programação, e sempre salvo em header, e não em arquivos simples. E realmente não sei o que aconteceu, hora que mandei aqui ficava dizendo que "minmax" não tava definida, e não compilava. Fui, repassei tudo pra um novo arquivo da mesma forma, e compilou e executou normalmente @arfneto vou ver, obrigado @mauro_b eu entendo, inclusive não tinha feito o programa desta maneira inicialmente. Tinha feito de maneira mais simples, e sem essa divisão do programa com o header e etc, porém foi pedido para fazermos dessa forma também, por isso a mudança Uma última dúvida: o programa está rodando normalmente, e identifica o minmax assim como esperado, bem como a linha e coluna em que está. Porém, quando o minmax está na primeira coluna, a indicação da coluna na resposta dá errada (indica um numero como 402735 como coluna). Onde pode estar o erro, sendo que fiz o procedimento para indicação de linhas e colunas da mesma maneira, e a indicação da linha sempre está certa?
  2. A partir de uma matriz 4x7 de números aleatórios, programei pra achar o menor elemento da matriz e, depois de encontrá-lo, achar o maior valor daquela linha. O programa dá todo certo se em um arquivo só, porém, se passo a função pra um .h, quando vou chamar a função, diz que ela não foi declarada. O que estou fazendo de errado? Programa principal: #include <iostream> /* manipulacao de fluxo de dados padrão do sistema */ #include <cstring> /* manipulacao de cadeia de caracteres */ #include <ctime> /* manipulacao de tempo */ #include <cmath> /* manipulacao de funcoes matematicas */ #include <cstdlib> /* blibliotecas para utilizacao do c */ #include <cstdio> /* biblioteca padrão de entrada do c */ #include <cctype> /* biblioteca de conversao de tipos de dados */ #include <iomanip> /* formatacao de variaveis na saida */ #include <locale.h> /* exibir acentuação */ #include "minmax.h" using namespace std; int main(int argc, char** argv) { setlocale(LC_ALL,"Portuguese"); // instrução para mostrar ascentos int M[4][7]; int i, j; srand(time(NULL)); cout << "A matriz 4x7 de valores aleatórios possui o seguinte aspecto:\n "; for (i=0; i<4; i++) { for(j=0; j<7; j++) { M[i][j] = rand()%100; cout << M[i][j] << setw(3);} cout <<endl; } minmax(M); return 0; } O arquivo .h: #include <iostream> /* manipulacao de fluxo de dados padrão do sistema */ #include <cstring> /* manipulacao de cadeia de caracteres */ #include <ctime> /* manipulacao de tempo */ #include <cmath> /* manipulacao de funcoes matematicas */ #include <cstdlib> /* blibliotecas para utilizacao do c */ #include <cstdio> /* biblioteca padrão de entrada do c */ #include <cctype> /* biblioteca de conversao de tipos de dados */ #include <iomanip> /* formatacao de variaveis na saida */ #include <locale.h> /* exibir acentuação */ using namespace std; int valormm (int S[4][7]){ int num, n, i, j, l, c, menor, maior; for (i=0; i<4; i++) { for(j=0; j<7; j++) { if (i==0 && j==0){ num=S[0][0];} if (S[i][j] < num){ num = S[i][j]; l = i; } }} for (i=0; i<4; i++) { for(j=0; j<7; j++) { if (i==0 && j==0){ n=S[l][0];} }} for (i=0; i<4; i++) { for(j=0; j<7; j++) { if (S[l][j] > n){ n = S[l][j]; c = j; } }} cout <<"\n\nMenor valor da matriz: " << num << endl; cout << "O valor MINMAX é igual a " << n << " e se encontra na linha " << l+1 << " e coluna " << c+1 << "." << endl; return 0;}
  3. Tenho que criar um programa com subrotina pra identificar o maior valor de um vetor de 10 valores. Já consegui criar sem a subrotina: int main(int argc, char** argv) { setlocale(LC_ALL,"Portuguese"); // instrução para mostrar ascentos srand(time(NULL)); int V[10], i, maior; maior = 0; for (i=0; i<10; i++) V[i] = rand()%100; for (i=0; i<10; i++) cout << V[i] << " "; cout << endl; for (i=0; i<10; i++) if (V[i]>maior) { maior = V[i]; } cout << "O maior vetor é " << maior << endl; return 0; Só que com a subrotina, não consigo fazer. Como faço pra subrotina pegar os valores gerados pro Vetor na função principal? Com subrotina (deu errado): using namespace std; void maiore() { int i, vet[10], m=0; for (i=0; i<10; i++) if (vet[i]>m) { m = vet[i]; } cout << "O maior vetor é " << maiore << endl; } int main(int argc, char** argv) { setlocale(LC_ALL,"Portuguese"); // instrução para mostrar ascentos srand(time(NULL)); int V[10], i, maior; maior = 0; for (i=0; i<10; i++) V[i] = rand()%100; for (i=0; i<10; i++) cout << V[i] << " "; cout << endl; maiore(); return 0;

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!