Ir ao conteúdo
  • Cadastre-se

Giovanaf

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por Giovanaf

  1. Olá, peço ajuda com um exercício.

    Questão:

    Crie um programa que define uma matriz 7x7 e chame as três funções definidas abaixo:
      - Função capaz de preencher a matriz com valores aleatórios de 0 a 1023;
      - Função capaz de imprimir a matriz na tela usando formato matricial;
      - Função capaz capaz de encontrar o maior valor da matriz e a média dos valores da matriz. A função deve
      informar tais valores ao programa principal que, por sua vez, irá imprimir na tela essas informações.
     

    Não entendi a lógica de criar uma função que imprima matriz em formato matricial, e creio que tenha mais erros, pois recebi apenas 1/3 do valor da questão.

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int valores_aleatorio (int mat[][7], int x, int y){
    	srand (time(NULL));
    	for (int i=0; i<7; i++){
    		for (int j=0; j<7; j++){
    			mat[i][j] = rand () %1023;
    			printf ("%.4d   ", mat[i][j]);
    		}
    		printf ("\n");
    	}
    	return 0;
    	
    }
    int matricial (int *z){
    	
    
    
    return 0;
    }
    
    int maior_media (int mat[][7], int x, int y, int *maior, float *media){
    	printf ("\n");
    	srand (time(NULL));
    	int  soma=0;
    	
    	for (int i=0; i<7; i++){
    		for (int j=0; j<7; j++){
    			mat[i][j] = rand () %10;
    			printf ("%d ", mat[i][j]);
    			soma = soma + mat[i][j];
    		}
    		printf ("\n");
    	}
    	*media = soma/49.0;
    	*maior=0;
    	
    	for (int i=0; i<7; i++){
    		for (int j=0; j<7; j++){
    			mat[i][j] = rand () %10;
    			
    			if (mat[i][j] > *maior){
    				*maior = mat[i][j];
    			}
    		}
    		printf ("\n");
    	}
    		
    	return 0;
    	
    }
    
    	
    int main(int argc, char **argv){
    	int mat [7][7], maior;
    	float media;
    	
    	valores_aleatorio (mat, 7,7);
    	maior_media (mat,7,7, &maior, &media);
    	printf ("Media: %.2f\n", media);
    	printf ("Maior: %d", maior);
    	
    	return 0;
    }

     

  2. @AnsiC

    Crie uma função que receba um vetorde 100 valores tipo int como parâmetro (valores devem ser gerados aleatoriamente

    pelo programa principal) e retorne a média, valor máximo, valor mínimo e desvio padrão dos valores no vetor.

    Média e desvio padrão devem ter 4 casas decimais.

    • Curtir 1
  3. @Simon Viegas  Diferente do que você propôs, fiz apenas uma função fora da main. Acredito que não seja problema.

    Também foi solicitado o cálculo do desvio padrão das 100 posições.

     

    @giu_d  Acredito que eu tenha conseguido, mais uma vez obrigada pela ajuda.

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <math.h>
    
    void aleatorio (int v[], float n){
    	int soma, aux=0;
    	float desvio;
    	
    	srand (time(NULL));
    	for (int i=0; i<n; i++){
    		v[i]= rand () %50 +5;
    		soma = soma + v[i];
    		//printf ("%d ", v[i]);
         }
         
         float media;
         media = soma/n;
         //printf ("\nSoma: %d\n", soma);
         printf ("Media: %.4f\n", media);
         
         for (int k=0; k<n; k++){
    		 aux = aux + (pow((v[k]-media),2));
    	 }
    	 
    	 desvio = aux / 3;
    	 desvio = sqrt (desvio);
    	 printf ("Desvio: %.4f\n", desvio);
         
         int maior=v[0], menor=v[0];
         for (int j=0; j<n; j++){
              if (v[j]>maior){
    			  maior = v [j];
    		  }
    		  if (v[j]<menor){
    			  menor = v [j];
    		  }
    	
          } 
            printf ("Maior: %d\n", maior);
          	printf ("Menor: %d\n", menor);
    
    }
    
    int main(int argc, char **argv)
    {
    	int vet [100];
    	aleatorio (vet, 100);
    	return 0;
    }

     

    • Curtir 1
  4. @giu_d Oi, obrigada pela ajuda.

    Consegui fazer a média, mas ainda não o valor maior e menor.

    Pensei em fazer Bubblesort e depois copiar a primeira e ultima posição do vetor, mas não sei se faço uma função isolada que efetua o bubblesort ou ponho junto com a função vetor_aleatorios. (tentei os dois jeitos e me perdi com os dois)

    O código até agora

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    void bubble (int vet1[], int n, int l){
    int aux;
    for (int k=0; k<n; k++){
        for ( l=k+1; l<n; l++){
            if (vet1[l]>vet1[l+1]){
                aux = vet1[l];
                vet1[l] = vet1[l+1];
                vet1[l+1] = aux;
    
            }
        }
    }
    
    }
    void vetor_aleatorios (int vet[], int n){
    	 srand (time(NULL));
    int a, soma =0, vec[100];
    float media;
    
    
         for ( int i = 0; i < n; i++){
                a = rand () %10;
         soma = soma + a;
         printf ("%d ", a);
    
    	 }
    	 printf ("\nSOMA: %d", soma);
    	 media = soma/100.0;
    	 printf ("\nMEDIA: %.4f", media);
    	 bubble (vec[], 100, a);
     }
    
    
    
    int main () {
    
    	int vetor [100];
    	vetor_aleatorios (vetor, 100);
    
    
    
    	return 0;
    }

     

    • Obrigado 1
  5. Boa noite, estou empacada em um problema que envolve funções. não consigo somar os valores do vetor para fazer a média e nem ao menos tentei por o valor mínimo e máximo. Talvez eu não tenha fixado direito a passagem passagem por referência, espero que me ajudem com o código.

     

    Enunciado: Crie uma função que receba um vetor de 100 valores tipo int como parâmetro (valores devem
    ser gerados aleatoriamente pelo programa principal) e retorne a média, valor máximo e o valor mínimo.

     

    #include <stdio.h>
    #include <time.h>
    void vetor_aleatorios (int vet[], int n){
    	 srand (time(NULL)); 
    	 
         for ( int i = 0; i < n; i++){
    		 printf ("%d ", rand () %10);
    	 }
     }
    
    
    int main () {
    
    	int vetor [100];
    	vetor_aleatorios (vetor, 100);
    	
    	
    	return 0;
    }

     

    • Obrigado 1
  6. Oi, estou com dificuldades no problema abaixo, gostaria da ajuda de vocês.

    Um palíndromo é uma seqüência de caracteres que é lida da esquerda para a direita ou da direita para a esquerda. Por exemplo, cada um dos seguintes vetores  é um palíndromo: 1221,F5G5F, HANAH e TGAAGT. Escreva um algoritmo em linguagem C que leia uma string e determine se ele é ou não um palíndromo.

     

    Meu código até agora (Se compilarem, verão que o código imprime a palavra lida de maneira inversa, meu problema é que não consigo compará-las e definir se é ou não um palíndromo):

     

    #include <stdio.h>
    #include <string.h>
    int main () {
    char string [20], string2[20];
    int num=0, t=0 ;
    
    printf ("digite uma sequencia: ");
    scanf ("%s", string);
    
    while (string[num] != '\0') {
    num++;}
    
    printf ("ordem inversa: ");
    for (int inv=num; inv>=0; inv--){
    printf ("%c", string[inv]);
    string [inv] = string2 [t];
    t++;
    }
    string2 [t] =  '\0';
    if (strcmp(string, string2) == 0){
    	printf ("\né um palindromo");}
    else {printf ("\nnao e um palindromo");}
    
    }

     

    • Amei 1

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!