Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

J.Regis

dois exercícios de C++

Recommended Posts

Boa tarde,

 

Preciso de ajuda para resolver as duas questões abaixo:

 

10) Implemente um programa em C que preencha uma matriz 10x10 com valores aleatórios (usar função rand()) e calcule a soma dos elementos da diagonal principal da matriz e a multiplicação dos elementos da diagonal secundária da mesma matriz.

 

11) Implemente um programa em C que receba como entrada um texto qualquer e:

a)Conte o número de ocorrências da letra ‘A’

b)Conte o número de ocorrência do grupo de caracteres “XYZ“

c)Recrie o texto dado de forma que do mesmo sejam eliminados todos os espaços em branco

 

se possível resolvam a questão usando a biblioteca iomanip.h .

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em relação à questão 10 encontrei algumas dicas para fazer a entrada aleatória. Mas não sei se a forma que fiz está certa. Quando testo o programa ele de tempo em tempo repete o resultado.

 

Código abaixo:

/* 10)	Implemente um programa em C que preencha 
uma matriz 10x10 com valores aleatórios 
(usar função rand()) e calcule a soma dos 
elementos da diagonal principal da matriz e 
a multiplicação dos elementos da diagonal 
secundária da mesma matriz.*/

#include<iomanip.h>
#include<time.h>
main()
{
 float m[10][10],s=0,p=1;
 int i,j;
 for (i=0;i<10;i++)
 {
   for (j=0;j<10;j++)
   {
     srand(time(NULL));
     m[i][j] = rand()%10;
     if (i==j) s+= m[i][j];
     if (i+j==9) p*= m[i][j];
   }
 }
 cout<<"Soma: "<<s;
 cout<<"\n\nProduto: "<<p<<"\n\n";
 system("pause");
}

 

 

 

 

Em relação à questão 11 não sei fazer as questões "b" e "c".

Segue o que consegui fazer:

/* 11)	Implemente um programa em C que receba como entrada um texto qualquer e:
a)	Conte o número de ocorrências da letra 'A'
B)	Conte o número de ocorrência do grupo de caracteres "XYZ"
c)	Recrie o texto dado de forma que do mesmo sejam eliminados todos os espaços 
em branco */

#include<iomanip.h
#include<string.h>
main()
{
 char s[21];
 int i,ca,cb;
 cout<<"Digite um texto com ate 20 caracteres: ";
 gets(s);
 for (i=0;i<201;i++)
 {
   if (s[i]=='A') ca++;
   if ( strstr(s,"XYZ") )

 

Conto com o apoio de vocês. E respeito o fato de não quererem dar tudo na mão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

J.Regis,

 

 srand(time(NULL));

Tire esta linha do laço de repetição. Esta função é utilizada para gerar a semente da função rand e deve ser executada apenas uma vez.

E quanto a estar repetindo aumente a range dos números randômicos.

 

Segue uma explicação:

http://www.cplusplus.com/reference/clibrary/cstdlib/rand/

 

Espero ter ajudado, FLW! :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

é assim?

 

#include<iomanip.h>
#include<time.h>
main()
{
 float m[10][10],s=0,p=1;
 int i,j;
 srand(time(NULL));
 for (i=0;i<10;i++)
 {

   for (j=0;j<10;j++)
   {      
     m[i][j] = rand()%1000;
     if (i==j) s+= m[i][j];
     if (i+j==9) p*= m[i][j];
   }
 }
 cout<<"Soma: "<<s;
 cout<<"\n\nProduto: "<<p<<"\n\n";
 system("pause");
}

 

 

 

J.Regis,

 

 srand(time(NULL));

Tire esta linha do laço de repetição. Esta função é utilizada para gerar a semente da função rand e deve ser executada apenas uma vez.

E quanto a estar repetindo aumente a range dos números randômicos.

 

Segue uma explicação:

http://www.cplusplus.com/reference/clibrary/cstdlib/rand/

 

Espero ter ajudado, FLW! :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.