Ir ao conteúdo
  • Cadastre-se

Giovanaf

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

10
  1. @isrnickEntão é necessário apenas isso na função matricial? for (int i=0; i<7; i++){ for (int j=0; j<7; j++){ mat[i][j] = rand () %100; printf ("%d ", mat[i][j]); } printf ("\n"); }
  2. 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; }
  3. @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.
  4. @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; }
  5. @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; }
  6. 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; }
  7. @giu_d Obrigada pelas dicas e correção.
  8. 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");} }

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