Ir ao conteúdo

Posts recomendados

Postado

fala galera, beleza ? preciso de uma ajuda neste programa simples, ela da um erro bizarro quando chega na funcao MostraVet

//******************UNIT********************

void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
  int n=atoi(Edit1->Text.c_str());
  if(n<=0)
  {
    ShowMessage("Quantidade Invalida!!");
    Edit1->SetFocus();
      }
    else
    {
        sg1->ColCount=n;

    }
}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int *pv,*pp,*pi,tp=0,ti=0,n=atoi(Edit1->Text.c_str());
  pv=AlocaVet(n);
  PreencheVet(pv,n,&tp,&ti,sg1);
  if (tp!=0)
  {
   pp=AlocaVet(tp); }
   if(ti!=0)
   {pi=AlocaVet(ti);}
   SeparaVet(pv,pp,pi,n);
   DECRE(pi, n);
   CRE(pp, n);
   MostraVet(pp,tp,sg2);
   MostraVet(pi,ti,sg3);



//*******************BIBLIOTECA*******************



int* AlocaVet(int n)
{
 int *p=(int*) malloc(n*sizeof(int));
 if(!p)
 {
  ShowMessage("Problema de Memória-Programa será encerrado!!");
  exit(0);

 }
  return p;
}
 void PreencheVet(int *ppv,int n,int *ttp,int *tti,TStringGrid *s)
 {
  for(int i=0;i<n;i++)
  {
  ppv=atoi(s->Cells[0].c_str());
  if (ppv%2==0)
  {
  (*ttp)++;
  }
  else
  {
   (*tti)++;
  }
     }
      }
 void SeparaVet(int *ppv,int *ppp,int *ppi,int n)
{
 int kp=0,ki=0;// Kp= indice do vetor par somente,
 for(int ko=0;ko<n;ko++) // Ki=indece do vetor impar somente, ko= indice do vetor original, somente.
  {
   if (ppv[ko]%2==0)
        {
        ppp[kp++]=ppv[ko]; // ppp[kp++] é  a mesma coisa que kp++; na linha de baixo.
                }
        else
        {
        ppi[ki++]=ppv[ko];
     }
   }
 }
   void CRE(int *a, int n)
 {
 int i, j, tmp;
 for(i=0; i<=n;i++)
 {
  for(j=i+1; j<=n;j++)
  {
   if(a[j]<a)
    {
     tmp=a;
     a=a[j];
     a[j]=tmp;
    }
   }
  }
 }
 void DECRE(int *pi, int n)
 {
  int x, y, aux;
  for(x=0;x<=n;x++)
  {
    for(y=x+1; y<=n; y++)
    {
      if (pi[y]>pi[x])
      {
         aux=pi[y];
         pi[y]=pi[x];
         pi[x]=aux;
       }
     }
   }
 }
 void MostraVet(int *p,int t,TStringGrid *s)
 {
 s->ColCount=t; // duvida
 s->Rows[0]->Clear();
 for(int i=0;i<t;i++)
 s->Cells[0]=p;

 }

 

nesse programa preciso fazer o seguinte: Gerar um vetor com números pares e outro com números ímpares a partir de um vetor gerado pelo usuário (valores também fornecidos pelo usuário). Apresentar o vetor PAR ordenado de forma crescente
e o vetor ÍMPAR de forma decrescente. Usar: AlocaVetor( ), PreencheVetor( ), SeparaVetor( ) , OrdenaVetorCrescente(), OrdenaVetorDecrescente() e MostraVetor( )

  • Curtir 1
Postado

@ViniciusBas Olá. Daria para postar o código todo? Ajudaria muito para q alguém possa dar uma resposta mais adequada qto a esse exercício 

Postado

consegui resolver esse problema, porém tenho outro para fazer so que nao sei nem por onde comecar, poderia me ajudar ?? 

 

obs: sem usar funcoes prontas exceto atoi(), atof(), ShowMessage(), malloc(), exit(), calloc(), realloc(), free(), AnsiString(), FormatFloat().
 
O usuário deverá fornecer palavras em um StringGrid. Apresente num segundo StringGrid cada uma dessas palavras de forma invertida (Exemplo: abacaxi torna-se ixacaba). Apresente quantas destas palavras são palíndromos (palavras que podem ser lidas da esquerda para a direita e da direita para a esquerda mantendo o mesmo significado). Usar: Copia( ), Tamanho( ), Inverte( ), Compara ( ), ContaPalindromos( ) e MostraPalavra().

adfasdfasdfasdfa.png.095ffd27dcbd06fa642e769f92b4caa1.png

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!