Ir ao conteúdo
  • Cadastre-se

ViniciusBas

Membros Juniores
  • Total de itens

    2
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. 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().
  2. 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( )

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×