Ir ao conteúdo
  • Cadastre-se

C Preencher matriz com char aleatório e contar as vogais


murilop.s

Posts recomendados

@murilop.s      depois de criar a matriz use o comando   num = rand ()%26+65; que vai gerar numeros nesse intervalo ,de 65 ate 90 , que cujo valor eh o correspondente codigo ASCII das letras maiusculas de A ate Z, e para colocar na matriz voce faz a conversao de inteiro para char com um  cast   assim    matriz[ linha ][ coluna ] = (char) num;

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 4 anos depois...

Boa Dia!

 

Uma análise

Em 16/09/2019 às 14:07, murilop.s disse:

¹O usuário digite o tamanho de uma matriz e depois essa ²matriz é preenchida com caracteres(char)  aleatórios

 

Tamanho

¹        Não existe 'o tamanho de uma matriz' em linguagem c, o que acertadamente existem são abstrações como o tamanho de uma matriz, são configurações limitadas de modo que é um risco defina-las com base exclusivamente no que o usuário digita.

 

Aleatório

²        Já na declaração ela é aleatória, haja vista que supostamente os seus usuários declaram o seu tamanho com base em critério nenhum: que depende das circunstâncias, casualmente, cujo a definição está num espaço da memória repleta (ou não) de configurações binárias acidentais.

 

 

Logo,

sendo um exercício para iniciante das matrizes, e a partir da solução no post#2

Em 16/09/2019 às 14:07, murilop.s disse:

Logo em seguida conte o número de vogais. Em c.

 

 

Tenho por exemplo,

 

c'11  - gcc'11.4

/* ... */
#include <ctype.h> /* ...                              tolower  () */
#include <stdlib.h>/* ...                                  rand () */
#include <stdio.h> /* Include the header file for input and output */
int main (void) {
/* ler e declarar tamanho */
  size_t col= 1; (void) scanf ("%zu",&col);
  size_t lin= 1; (void) scanf ("%zu",&lin);
  size_t const LIMIT= 100UL;
/* definir e atribuir cordas pseudoaleatórias */
  char A[lin%= LIMIT][col%= LIMIT];
  printf ("%s%zu%c%zu%c","... declarou-se: ",lin,'x',col,'\n');
  for (size_t ai= 0 ; lin>ai ; ++ai)
  for (size_t aj= 0 ; col>aj ; ++aj) {
      int num= rand ()% 26+ 65;
      A[ai][aj]= (char) num;
    }
/* calcular suas vogais */
  int a ,e ,i ,o ,u ,outros= 0;
  a= e= i= o= u= 0;
  for (size_t ai= 0 ; lin>ai ; ++ai)
  for (size_t aj= 0 ; col>aj ; ++aj) {
      int r= tolower (A[ai][aj]);
      switch (r) {
        case'a': ++a; break;
        case'e': ++e; break;
        case'i': ++i; break;
        case'o': ++o; break;
        case'u': ++u; break;
        default: ++outros; break;
        }}
/* produzir soma no simulador */
  int soma= a+ e+ i+ o+ u;
  printf ("%s%d%c","soma é: ",soma,'\n');
  return 0;
  }

 

 

e talvez ainda,

 

/* calcular suas vogais */
  int h[255]= {0};
  for (size_t ai= 0 ; lin>ai ; ++ai)
  for (size_t aj= 0 ; col>aj ; ++aj)
     ++h[tolower (A[ai][aj])];
/* produzir soma no simulador */
  int soma= h['a']+ h['e']+ h['i']+ h['o']+ h['u'];
  printf ("%s%d%c","soma é: ",soma,'\n');

 

...

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Desconheço, mas, talvez em circuito,

 

/* calcular suas vogais */
  int a ,e ,i ,o ,u;
  a= e= i= o= u= 0;
  for (size_t ai= 0 ; lin>ai ; ++ai)
  for (size_t aj= 0 ; col>aj ; ++aj) {
      int  r=  tolower (A[ai][aj]);
      a+= (r=='a');
      e+= (r=='e');
      i+= (r=='i');
      o+= (r=='o');
      u+= (r=='u');
      }
/* produzir soma no simulador */
  int soma= a+ e+ i+ o+ u;
  printf ("%s%d%c","soma é: ",soma,'\n');

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!