Ir ao conteúdo
  • Cadastre-se

Fernanda Duarte_753940

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Tolledo, como exatamente você resolveu? Estou com o mesmo problema
  2. Mauro, você quer dizer na função sizeof()? ex: (pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(*pixelPPM))? ou (*pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(pixelPPM)); (na vdd creio q seria (**pixelPPM) pois é uma matriz) Porque no primeiro caso o compilador apresenta o erro: 25 69: [Error] expected expression before 'pixelPPM' E se for o segundo caso (o que creio que não) pixelPPM já é um ponterio de ponteiro na estrutura PPM
  3. Estou começando a escrever um código, porém está dando um erro e não consigo resolver. A intenção é ler de um arquivo dados de uma imagem PPM e armazenar numa matriz, usando alocação dinâmica. o compilador está informando esse erro: 23 2 [Error] conversion to non-scalar type requested essa linha: ppm1.pixel = (pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(pixelPPM)); ************arquivo structs.h: #include<stdio.h> #define MAX_FORMACT 126 typedef struct{ int R; int G; int B; }pixelPPM; typedef struct{ char formato[MAX_FORMACT]; int largura; int altura; int maxCores; pixelPPM **pixel; } PPM; PPM leituraPPM(FILE *fPPM); ********arquivo .c #include<stdio.h> #include<stdlib.h> //#include"structs.h" PPM leituraPPM(FILE *fPPM){ int i=0, j=0, max=0; PPM ppm1; //pegando o formato do arquivo e verificando se e um PPM fscanf(fPPM, "%s", ppm1.formato); if(ppm1.formato!="P2"){ printf("Arquivo nao e um PGM.\n"); return ppm1; } //pegando as dimenções e max de cores da imagem fscanf(fPPM, "%d %d %d", &ppm1.largura, &ppm1.altura, &ppm1.maxCores); //fazendo alocação de memoria para matriz de pixels ppm1.pixel = (pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(pixelPPM)); //preenchendo matriz de pixels for(j=0;j<ppm1.altura; j++){ for(i=0;i<ppm1.largura;i++){ fscanf(fPPM, "%d", ppm1.pixel[j]->R); fscanf(fPPM, "%d", ppm1.pixel[j]->G); fscanf(fPPM, "%d", ppm1.pixel[j]-> ; } } return ppm1; }
  4. Estou começando a escrever um código, porém está dando um erro e não consigo resolver. A intenção é ler de um arquivo dados de uma imagem PPM e armazenar numa matriz, usando alocação dinâmica. o compilador está informando esses erros: ************arquivo structs.h: #include<stdio.h> #define MAX_FORMACT 126 typedef struct{ int R; int G; int B; }pixelPPM; typedef struct{ char formato[MAX_FORMACT]; int largura; int altura; int maxCores; pixelPPM **pixel; } PPM; PPM leituraPPM(FILE *fPPM); ********arquivo .c #include<stdio.h> #include<stdlib.h> //#include"structs.h" PPM leituraPPM(FILE *fPPM){ int i=0, j=0, max=0; PPM ppm1; //pegando o formato do arquivo e verificando se e um PPM fscanf(fPPM, "%s", ppm1.formato); if(ppm1.formato!="P2"){ printf("Arquivo nao e um PGM.\n"); return ppm1; } //pegando as dimenções e max de cores da imagem fscanf(fPPM, "%d %d %d", &ppm1.largura, &ppm1.altura, &ppm1.maxCores); //fazendo alocação de memoria para matriz de pixels ppm1.pixel = (pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(pixelPPM)); //preenchendo matriz de pixels for(j=0;j<ppm1.altura; j++){ for(i=0;i<ppm1.largura;i++){ fscanf(fPPM, "%d", ppm1.pixel[j]->R); fscanf(fPPM, "%d", ppm1.pixel[j]->G); fscanf(fPPM, "%d", ppm1.pixel[j]->; } } return ppm1; }

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...