Ir ao conteúdo
  • Cadastre-se

Polaris

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Polaris

  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!