Ir ao conteúdo
  • Cadastre-se

BifeProgramador

Membro Pleno
  • Posts

    32
  • Cadastrado em

  • Última visita

Tudo que BifeProgramador postou

  1. porque é no maximo 100 valores por linha não é ? E ali tem ((if ++col % 100) == 0 ) fprintf ("\n") o (\n) pula para a outra linha quando o ++col chega a 100 porque só esse valor que dividido por 100 vai dar resto 0... Ou estou errado ?
  2. Na verdade essa parte não é apenas para fazer a quebra de linhas ? Eu queria entender direito como funciona
  3. Nessa linha aqui por que tem esse ++col ? Qual a função disso ?
  4. @washalbano Para o que estou querendo não ajudou muita coisa mas obrigado
  5. <?php session_start(); $titulo = str_replace('#', '-', $_POST['titulo']); //Se conter o caractere # será substituido pelo - $categoria = str_replace('#', '-', $_POST['categoria']); $descricao = str_replace('#', '-', $_POST['descricao']); //utiliza o # como separador no arquivo $texto = $_SESSION['id'] . ' # ' . $titulo . ' # ' . $categoria . ' # ' . $descricao . PHP_EOL; /* Para resolver questões de diferentes sistemas operacionais utilize o PHP_EOL para forçar uma quebra de linha na visualização */ //FAZER A ESCRITA NO ARQUIVO TXT header('Location: abrir_chamado.php'); ?> Alguém sabe como faço para pegar dados q o usuario vai digitar em um site de php e armazenar esses dados em um arquivo txt ?
  6. Sim eu só não tava raciocinando direito... kkkkkk a pressa acaba atrapalhando
  7. eu estava executando dessa forma : atividade6.exe < name.txt
  8. Tinha só que eu não tava entendendo o que era aquele Uso: %s <imagem[.pts]> depois que eu fui ligar os pontos e fui entender que estava executando da forma errada ! isso eu ja fiz, configurei pra abrir com i_view 32 e ja me mostrou as imagens, muito obrigado por sua ajuda !
  9. Era isso ! Eu não sabia como chamar o programa Rodei o exemplo do J , gerou o arquivo pbm e apareceu isso : Agora sim eu vendo o código rodando inteirinho eu consegui entender melhor como ele funciona
  10. Eu não estou sabendo como testar esse J , mesmo com suas explicações ainda não sei fazer. não entendo direito esse código que o professor passou e como ele funciona . Não sei nem porque ainda insisto nesse curso vou desistir de entregar esse trabalho Muito obrigado por sua ajuda e desculpe tomar seu tempo !
  11. Realmente esse programa que foi dado a gente foi bem confuso... A turma inteira está tendo dificuldades nele
  12. No write pbm a unica coisa que fala é isso : void write_pbm(image img, char *name, int nl, int nc) { FILE *f; int i, contador; f = fopen (name, "wt"); if (f==NULL) { puts ("Erro na ao criar arquivo"); return; } fputs("P1\n",f); fputs("#Olá, bem vindo a atividade6.c\n",f); fprintf (f, "%d %d\n", nc , nl); contador = 0; for (i=0; i < nl * nc; i++) { fprintf (f, "%d ", img[i]); contador++; if (contador == 100) { fprintf (f, "\n"); contador = 0; } } fclose(f); } //Falta fazer // 1. gravar os 0's ou 1's da imagem (no máximo 100 valores por linha)
  13. sim ate baixei esse programa aqui na minha máquinha
  14. Era pra está funcionando... mas só mostra isso Entendi a parte que você editou mas ainda sou um pouco perdido com essa questão de chamar funções, deve ser alguma coisa que não estou percebendo Ou ele deve precisar do write_pbm completo pra poder executar certo
  15. @arfneto Implementei a sua função no meu código e compilou , agora quero saber como faço para testar o J ? A seguir o código todo para você dar uma olhada #include <stdio.h> #include <stdlib.h> #include <string.h> #if defined(_WIN32) || defined(__WIN64__) || defined(__CYGWIN__) #define VIEW "./i_view32" #elif defined(__linux__) #define VIEW "eog" #endif typedef int *image; image alloc_memo(int nl, int nc) { return (image)malloc(nl * nc * sizeof(int)); } void write_pbm(image img, char *name, int nl, int nc) { FILE *f; int i, contador; f = fopen (name, "wt"); if (f==NULL) { puts ("Erro na ao criar arquivo"); return; } fputs("P1\n",f); fputs("#Olá, bem vindo a atividade6.c\n",f); fprintf (f, "%d %d\n", nc , nl); contador = 0; for (i=0; i < nl * nc; i++) { fprintf (f, "%d ", img[i]); contador++; if (contador == 100) { fprintf (f, "\n"); contador = 0; } } fclose(f); } //Falta fazer // 1. gravar os 0's ou 1's da imagem (no máximo 100 valores por linha) image read_pts(char *name, int *nl, int *nc) { // -------------------------------------------- // Para Fazer // 1. abrir o arquivo texto 'nome' para leitura // 2. ler o número de linhas e colunas // 3. ler o número 'n' de pontos // 4. alocar o vetor 'img' com nl x nc // elementos // 5. preencher o vetor imagem com zeros // 6. ler as 'n' coordenadas (i, j) e preencher // a posição correspondente de img com 1. // -------------------------------------------- // 1. int i,j,n; FILE *f = fopen(name, "r"); if (f == NULL) return NULL; // 2,3. int pt = 0; // total de pixels '1' int res = fscanf(f, "%d %d %d", nl, nc, &pt); if (res != 3) return NULL; // não leu direito, cancela // 4. image img = alloc_memo(*nl, *nc); // 5. memset((void *)img, 0, sizeof(int) * (*nl) * (*nc)); // zera tudo // 6. for (n = 0, i = 0, j = 0; n < pt; n += 1) { // para os 'pt' pontos if (2 != fscanf(f, "%d %d", &i, &j)) { // deu erro: free(img); return NULL; } *(img + (i * *nc) + j) = 1; // marca o pixel } ////////////////////////////////////////////////////////////////// // mostra o que leu int col = 6; pt = *nc * *nl; for ( i = 0; i < pt; i += 1) { if ( *(img + i) == 1 ) printf("* "); else printf(" "); if (++col % 6 == 0) printf("\n"); } printf("\n"); ////////////////////////////////////////////////////////////////// fclose(f); return img; } // Falta fazer // 1. preencher o vetor imagem com zeros // 2. ler as 'n' coordenadas (i, j) e preencher a posição correspondente de img com 1. int main(int argc, char *argv[]) { image in; char *p; char nameIn[40]; char nameOut[40]; char command[100]; int nl, nc; if (argc < 2) { printf("Uso: %s <imagem[.pts]>\n\n", argv[0]); return 1; } if (p = strstr(argv[1], ".pts")) *p = 0; strcpy(nameIn, argv[1]); strcat(nameIn, ".pts"); strcpy(nameOut, argv[1]); strcat(nameOut, ".pbm"); // transformação in = read_pts(nameIn, &nl, &nc); write_pbm(in, nameOut, nl, nc); sprintf(command, "%s %s &", VIEW, nameOut); system(command); free(in); return 0; } Como faço para testar ?
  16. Eu entendi o que você quer dizer, primeiro quer q eu faça a função de leitura e rode para ler o J e gerar ele e depois fazer a função que grava . Porém esse trabalho é pra amanhã e essa pressa toda não deixa eu pensar direito e eu só queria terminar logo esse programa Então o professor digitou errado quando estava ensinando na aula
  17. No enunciado está uma coisa e no código diz para gravar o P1 Deixei porque eu não sei fazer essa parte kkkk leitura
  18. Dei uma atualizada no código, corrigi alguns erros de sintaxe e alguma coisas que tinha colocado errado #include <stdio.h> #include <stdlib.h> #include <string.h> #if defined(_WIN32) || defined(__WIN64__) || defined(__CYGWIN__) #define VIEW "./i_view32" #elif defined(__linux__) #define VIEW "eog" #endif typedef int *image; image alloc_memo(int nl, int nc) { return (image)malloc(nl * nc * sizeof(int)); } void write_pbm(image img, char *name, int nl, int nc) { FILE *f; int i, contador; f = fopen (name, "wt"); if (f==NULL) { puts ("Erro na ao criar arquivo"); return; } fputs("P1\n",f); fputs("#Olá, bem vindo a atividade6.c\n",f); fprintf (f, "%d %d\n", nc , nl); contador = 0; for (i=0; i < nl * nc; i++) { fprintf (f, "%d ", img[i]); contador++; if (contador == 100) { fprintf (f, "\n"); contador = 0; } } fclose(f); } //Falta fazer // 1. gravar os 0's ou 1's da imagem (no máximo 100 valores por linha) image read_pts(char *name, int *nl, int *nc) { char linha[1000]; FILE *f; int i,j; int n; image img = NULL; f = fopen (name, "rt"); if (f == NULL) { exit (100); } fgets (linha,1000,f); if (strcmp (linha,"P1")) { return NULL; puts ("não foi possivel abrir"); } fgets (linha,1000,f); while (linha[0]=='#') fgets (linha,1000,f); sscanf (linha,"%d %d",nc,nl); img = malloc ((*nl) * (*nc) * sizeof(int)); for (i=0; i < (*nl) * (*nc); i++) { fscanf (f, "%d", img + i); } fclose(f); return img; } // Falta fazer // 1. preencher o vetor imagem com zeros // 2. ler as 'n' coordenadas (i, j) e preencher a posição correspondente de img com 1. int main(int argc, char *argv[]) { image in; char *p; char nameIn[40]; char nameOut[40]; char command[100]; int nl, nc; if (argc < 2) { printf("Uso: %s <imagem[.pts]>\n\n", argv[0]); return 1; } if (p = strstr(argv[1], ".pts")) *p = 0; strcpy(nameIn, argv[1]); strcat(nameIn, ".pts"); strcpy(nameOut, argv[1]); strcat(nameOut, ".pbm"); // transformação in = read_pts(nameIn, &nl, &nc); write_pbm(in, nameOut, nl, nc); sprintf(command, "%s %s &", VIEW, nameOut); system(command); free(in); return 0; } Depois de ler o que ?
  19. Não tem como eu testar se não está completo . Como vou testar o J sem ter implementado ainda a leitura nas linhas e colunas e transformar em 1 ?
  20. Lê e verifica se tem comentário, e se tiver ele ler o comentário Lê o numero de linhas e colunas
  21. Essa é a função que ler a imagem , vou deixar o código todo pra ficar mais fácil : #include <stdio.h> #include <stdlib.h> #include <string.h> #if defined(_WIN32) || defined(__WIN64__) || defined(__CYGWIN__) #define VIEW "./i_view32" #elif defined(__linux__) #define VIEW "eog" #endif typedef int *image; image alloc_memo(int nl, int nc) { return (image)malloc(nl * nc * sizeof(int)); } void write_pbm(image img, char *name, int nl, int nc) { FILE *f; int i, contador; f = fopen ("name.txt", "wt"); if (f==NULL) { return; } fputs("P1\n",f); fputs("#Olá, bem vindo a atividade6.c\n",f); fprintf (f, "%d %d\n", nc , nl); contador = 0; for (i=0; i < nl * nc; i++) { fprintf (f, "%d ", img [i]); contador++; if (contador == 100) { fprintf (f, "\n"); contador = 0; } } fclose(f); } image read_pts(char *name, int *nl, int *nc) { char linha[100]; FILE *f; int i,j; int n; image img = NULL; f = fopen ("name.txt", "rt"); if (f == NULL) { puts ("Erro na ao criar arquivo"); exit (100); } if (strcmp (linha,"P1")) { return NULL; puts ("não foi possivel abrir"); } fgets (linha,1000,f); while (linha[0]=='#') fgets (linha,1000,f); sscanf (linha, "%d %d", nc , nl); img = malloc (*nl * *nc * sizeof (int)); for (i=0; i < (*nl) * (*nc); i++) { for (j=0; j < (*nl) * (*nc); j++) { fscanf (f, "%d",img + i); n = fscanf( "%d %d", i, j ); } } // Falta fazer // 1. preencher o vetor imagem com zeros // 2. ler as 'n' coordenadas (i, j) e preencher a posição correspondente de img com 1. fclose(f); return img; } int main(int argc, char *argv[]) { image in; char *p; char nameIn[40]; char nameOut[40]; char command[100]; int nl, nc; if (argc < 2) { printf("Uso: %s <imagem[.pts]>\n\n", argv[0]); return 1; } if (p = strstr(argv[1], ".pts")) *p = 0; strcpy(nameIn, argv[1]); strcat(nameIn, ".pts"); strcpy(nameOut, argv[1]); strcat(nameOut, ".pbm"); // transformation in = read_pts(nameIn, &nl, &nc); write_pbm(in, nameOut, nl, nc); sprintf(command, "%s %s &", VIEW, nameOut); system(command); free(in); return 0; }
  22. image read_pts(char *name, int *nl, int *nc) { char linha[100]; FILE *f; int i,j; int n; image img = NULL; f = fopen ("name.txt", "rt"); if (f == NULL) { puts ("Erro na ao criar arquivo"); exit (100); } if (strcmp (linha,"P1")) { return NULL; puts ("não foi possivel abrir"); } fgets (linha,1000,f); while (linha[0]=='#') fgets (linha,1000,f); sscanf (linha, "%d %d", nc , nl); img = malloc (*nl * *nc * sizeof (int)); for (i=0; i < (*nl) * (*nc); i++) { for (j=0; j < (*nl) * (*nc); j++) { fscanf (f, "%d",img + i); n = fscanf( "%d %d", i, j ); } } fclose(f); return img; }
  23. Eu entendo que está apenas respondendo é que eu quis dizer que quando fala "Faça isso, coloque tal coisa em tal lugar" eu não entendo muito bem, eu entendo melhor quando demonstra onde fazer e algum exemplo. E realmente não está sendo fácil, só agora que estou conseguindo avançar mais. Entendi Com certeza não foi proposital kkkkkkk
  24. No caso eu coloco isso ? fscanf (f, "%d",i); fscanf (f, "%d",j); Eu queria saber tambem como preencher os vetores com 0 e como posso preencher essas coordenadas... Se tivesse algum exemplo onde me demonstrasse o que é pra fazer ficaria mais claro, não consigo entender muito bem apenas com instruções.
  25. Eu fiz isso mas não sei se está certo... void write_pbm(image img, char *name, int nl, int nc) { FILE *f; int i, contador; f = fopen (name, "wt"); if (f==NULL) { return; } fputs("P1\n",f); fputs("#Olá, bem vindo a atividade6.c\n",f); fprintf (f, "%d %d\n", nc , nl); contador = 0; for (i=0; i < nl * nc; i++) { fprintf (f, "%d ", img [i]); contador++; if (contador == 100) { fprintf (f, "\n"); contador = 0; } } fclose(f); } No caso eu tenho que gravar os 0's ou 1's da imagem e no máximo 100 valores por linha

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