Ir para conteúdo
Fórum Script Brasil

LacosTTe

Membros
  • Total de itens

    38
  • Registro em

  • Última visita

Tudo que LacosTTe postou

  1. LacosTTe

    Ponteiros ERRO

    está dando erro nessa linha aux->prox = p->topo; erro: assignment from incompatible pointer type alguém sabe porque? usando ubuntu 12.04 + codeblocks PS: no DEV C++ no windows 7, não da esse erro <_< #include <stdio.h> #include <stdlib.h> //#-----------------------------------------------------# typedef struct No { char info; struct no* prox; }no; typedef struct Pilha { no* topo; }pilha; //#-----------------------------------------------------# void PVazia() { pilha* p = (pilha*)malloc(sizeof(pilha)); p->topo = NULL; } //#-----------------------------------------------------# void empilhar(pilha* p,float v) { no* aux = (no*)malloc(sizeof(no)); aux->info = v; aux->prox = p->topo; p->topo = aux; }
  2. ola estou com uma dúvida...crieo que seja algo simples. O programa ta dando erro quando entra no while do insere pelo que percebi. A idéia é simples...uma lista encadeada que insere os elementos sempre no fim. O erro aqui no codeblocks(ubuntu) é segmentation defautl. já procurei algo a respeito, mas não adiantou. eis a tentativa de código. #include <stdio.h> #include <stdlib.h> struct Ponto{ int x; int y; struct Ponto* prox; }; typedef struct Ponto p; p* inicializa(){ return NULL; } p* insere(p* lista, int x, int y){ p* novo = (p*)malloc(sizeof(p)); novo->x = x; novo->y = y; while(lista->prox != NULL) lista = lista->prox; lista = novo; novo->prox = NULL; return novo; } void mostrarlista(p* lista){ p* p; int i = 0; for (p = lista; p != NULL; p=p->prox) { ++i; printf("\n\nPonto %d: x [ %d ] = %d \n y [ %d ] = %d",i,i,p->x,i,p->y); } } int main (){ p* lista; //lista = inicializa(); lista = NULL; lista = insere(lista,1,2); lista = insere(lista,3,4); mostrarlista(lista); system("pause"); free(lista); return 0; }
  3. LacosTTe

    ponteiros, estruturas.

    Era isso mesmo! Muito Obrigado!
  4. LacosTTe

    dúvida sobre o for

    Procure no google, laços de repetição + portugues estruturado. Comece assim pra entender.
  5. LacosTTe

    ponteiros, estruturas.

    Se eu declarar Ponto** p2 (ponteiro para ponteiro) como Ponto* p2 (apenas ponteiro) dá certo. Mas gostaria de saber se há como fazer isso com ponteiro para ponteiro.
  6. LacosTTe

    ponteiros, estruturas.

    Olá amigo, sim a intenção é essa, que p1->y tenha o valor 82, mas que isso seja feito por outro ponteiro que aponte pra p1, no caso p2 (p2 altere o valor de p1.y / p1->y). É a partir dae que não estou conseguindo, fazer com que p2 aponte para p1. Ocorre este erro na linha p2 = p1; (y' has not been declared )
  7. OLá...estou testanto estruturas e ponteiros. Gostaria que o ponteiro para ponteiro p2 alterasse o valor de p1.y Esta dando erro na linha que tem o comando p2->y=82; Se alguém puder ajudar, Grato!. #include <stdio.h> typedef struct Ponto { int x; int y; }Ponto; int main(void){ Ponto* p1; Ponto** p2; p1 = (Ponto*) malloc(sizeof(Ponto)); p2 = (Ponto**) malloc(sizeof(Ponto*)); p1->x=18; p1->y=20; p2=p1; p2->y=82; printf("\nxx: %d",p1->x); printf("\nyy: %d",p1->y); printf("\nmemoria p1->x: %p",p1->x); printf("\nmemoria p1->y: %p",p1->y); getchar(); free(p1); return 0; }
  8. LacosTTe

    pequena soma em c

    coloque a variável den como float.
  9. LacosTTe

    Problemas com string

    acho que faltou o #include <string> e std:: #include <iostream> #include <string> int main() { std::string s1 = "Agua mole "; std::string s2 = "em pedra dura "; std::string s3 = "tanto bate "; std::string s4 = "ate que fura"; std::cout << s1 + s2 + s3 + s4 + "!!!\n\n"; getchar(); return 0; }
  10. LacosTTe

    Duvida C

    int s; float st;
  11. LacosTTe

    codigo não funciona

    compilei e rodei sem problema algum aqui no DEV C++
  12. LacosTTe

    Ajuda

    testa isso if (n1 >= n2){ //n1 = n3; //n2 = n4; n3 = n1; n4 = n2; } else { //n1 = n4; //n2 = n3; n4 = n1; n3 = n2; }
  13. pensa um pouco, e diga o que pensou, a galera dae vai te ajudar a ir pelo caminho certo.
  14. if((arqAgenda = fopen("arquivoAgenda.txt", "w+r+")) == NULL) acho que o modo de abertura e/ou criação do arquivo que você esta passando esta errado. vide Arquivos em C #--------------------------------------------------------------------------------------------------------------------------------------# fwrite(&contato[i], 1, arqAgenda); ...fwrite precisa de mais um parâmetro. algo do tipo fwrite(&contato[i], sizeof(contato), 1, arqAgenda); tente isso e vá postando teus testes.
  15. Você tem essa função para o cálculo dos "coeficentes", certo? void COEFICENTES(float NA, float HHT, float TT, float *CF, float *CG) { *CF = NA * 1000000/HHT; *CG = TT * 1000000/HHT; return; e na sua main () você não chama ela em lugar algum, logo, CF e CG não foram alteradas e vão ficar com valor zero, ou outro qualquer. ...acho que é isso.
  16. Resolvido. Seguindo os conselhos acima, deu super certo. Muito obrigado pessoal. (vivendo e aprendendo)
  17. olá pessoal, estou com algum problema na inserção de dados em uma struct. segue abaixo a struct. int main (void){ int i = 0; int dim = 3; struct { char Nome; char cpf; char rg; char endereco; char fone; } comprador[dim]; e aqui a parte de inserção de dados nela. printf("\n NOME:\t"); scanf("%c",&comprador[i].Nome); printf("\n CPF:\t"); scanf("%c",&comprador[i].cpf); printf("\n RG:\t"); scanf("%c",&comprador[i].rg); printf("\n ENDERECO:\t"); scanf("%c",&comprador[i].endereco); printf("\n TELEFONE:\t"); scanf("%c",&comprador[i].fone); i++; OK. Compila sem erros....mas quando no console vou inserir dados, simplesmente alguns campos não da pra preencher...ele pula pra outros campos, sem que eu possa setar os valores...alguém sabe porque? E se alguém tem outra solução. Com o GETC eu consegui que ele não pulasse, mas o GETC pegava a primeira posição da string só.
  18. Olá Pessoal, estou aprendendo ponteiros em C. Vendo alguns códigos me deparei com algumas formas de código que não entendi muito bem. Se alguém puder dar uma luz, desde já, grato. Primeiro caso, linha 6. Ponto** .. é um ponteiro para ponteiro? struct Ponto{ int x; int y; }; Ponto** alocarMatrizDinamicaDePontosEstaticos(int nrLinhas, int nrColunas){ Ponto** matrix = (Ponto**) malloc(nrLinhas * sizeof(Ponto*)); for (int i = 0; i < nrLinhas; i++) matrix[i] = (Ponto*) malloc(nrColunas * sizeof(Ponto)); return matrix; } Segundo caso: CampoMinado* criar(int nrLinhas, int nrColunas, int nrBombas); typedef struct { int** matrizResposta; int** matrizVisualizacao; int nrLinhas; int nrColunas; int nrBombas; time_t inicio; int tempoResolucao; } CampoMinado; CampoMinado* criar(int nrLinhas, int nrColunas, int nrBombas); void imprimirResposta(CampoMinado* c); void imprimirVisualizacao(CampoMinado* c); bool jogar(CampoMinado* c, int linha, int coluna, int operacao); 3º caso: int * ordena é um ponteiro para uma função? VO é outro ponteiro que aponta para outro ponteiro que é *ordena? int *ordena(int vet[],int dim); int main (void){ int DIM = 3; int V[DIM],*VO, i; printf("Insira os valores no vetor\n"); for (i=0;i<DIM;i++) { printf("\n\tvalor %d: ",i); scanf("%d",&V[i]); } printf("\n"); getchar(); VO = ordena(V,DIM); for(i=0;i<DIM;i++) printf("\n\t%d",VO[i]);
  19. LacosTTe

    ajuda

    Pelo que eu entendi o que voce quer é isso (se for isso, procure sobre switch e funções em C). Se não for com funções, basta usar a diretiva #include e fazer as chamadas. void cadastro_clientes(parametros) //protótipo função void relatorios (parametros) //protótipo função main(){ ... switch (op) { case 1:{ cadastro_clientes(); break;} case 2:{ relatorios(); break;} default:{ //comandos break;} } void cadastro_clientes() { //código_função } void relatorios() { //código_função }
  20. LacosTTe

    Ordenar Vetor com Printf

    você precisa mostrar como esta declarando seu vetor (quantas posições, se é bidimensional), e também especificar melhor sua dúvida, porque ordenação de vetor, eu acho que não tem como fazer com o printf, que tem a função de "imprimir, mostrar" seu vetor.
  21. LacosTTe

    Problema básico

    sua lógica está certa. Um dos erros era variável ou constante com Ç (preço)...não use ç, vai dar erro. e a linha ficando assim cout << "O preço a pagar então e " << " " << peras1*pesoperas*preço; sem << endl no fim deixou de dar o outro erro, mas eu não sei porque. Se algum cara mais experiente souber, que nos diga. da pra fazer assim tamb: #include <iostream> using namespace std; int main(void) { int peras1; cout << "A sua quantidade de peras e\?\n" << endl; cin >> peras1; cout << "O preço a pagar então é R$" << " " << (peras1 * 0.200 * 2.5) << "\n" << endl; system("pause"); getchar(); }
  22. Olá, fiz algumas modificações no seu programa. a função SQRT retorna um double. Acredito que seja esse o erro. #include<stdio.h> #include<stdlib.h> #include <math.h> int main() { int opcao; float a,b,c,delta,x1,x2; printf("Digite o valor de a: \n"); scanf("%f",&a); printf("\n\nDigite o valor de b: \n"); scanf("%f",&b); printf("\n\nDigite o valor de c: \n"); scanf("%f",&c); printf("Sua equacao: %1.0fx^2 + %1.0fx + %1.0f = 0\n", a, b, c); delta=(b*b)-(4*a*c); printf("\n\n delta = %1.1f",delta); if (delta<0) { printf("\nNao e possivel extrair a raiz deste numero\n\n"); system("pause"); exit(1); } else { x1 = ((-b) + sqrt(delta))/(2*(a)); x2 = ((-b) - sqrt(delta))/(2*(a)); } printf("O resultado da equacao \n x1: %1.1f\n x2: %1.1f\n",x1,x2); system("pause"); }
  23. LacosTTe

    Ajuda com função

    poste o erro q esta dando... uma outra pergunta... y é um int ?
  24. espero ter ajudado for (l=2;l>-1;l--) { for (c=2;c>-1;c--) { cout << vetor[l][c] << "\t"; } cout << "\n\n"; }
×
×
  • Criar Novo...