-
Posts
6.326 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
ASUS m5a97 LE R2.0 aceita o SSD MANCER REAPER 1TB?
devair1010 respondeu ao tópico de vitorfapinha em Placas-mãe
@vitorfapinha sim , seu SSD é compatível com essa placa , pois ambos tem conectores SATA , então basta plugar o cabo do SSD em uma entrada sata e ele funcionará bem . Qual o restante dos componentes . essa placa é bem antiga e nem tem conector nve m2, ela da suport apenas para sistemas até windows 8 , -
C Como navegar até determinada linha-coluna para inserir caracteres ao texto
devair1010 respondeu ao tópico de André T Franco em C/C#/C++
@André T Franco @André T Franco nesse arquivo que postou não tem nenhum @ffea ne @ffe4 , mas parece que você que guardar 16 valores Hexadecimais e em seguida pular para linha de vaixo , então , não entendi , essas condições que você colocou no código para que o arquivo2 seja preenchido , mas seja como for após essas condições serem satisfeitas , use um loop for com 16 repetições e escreva os valores pego por fgets e em seguida atualize o contador para mais 16 valores . e indo assim até o final da string buffer1 que terá até 1000 caracteres . ! -
Visual Basic Raycasting: como calcular o tamanho da linha vertical?
devair1010 respondeu ao tópico de Cambalinho em Programação - outros
@Cambalinho olá , boa noite ! , desculpe me , mas se você puder / quiser poste o código todo , por favor . -
Visual Basic Pesquisar ocorrencia Excel e excluir a linha
devair1010 respondeu ao tópico de Antonio Baptista em Programação - outros
@Antonio Baptista se for uma ocorencia em cada linha você pode usar um loop for com a quantidade de linhas e usar a função if / else para detectar a ocorrencia e em caso afirmativo use um outro for para deletar ' exemplo de como deletar conteUdo da cElula Option Explicit Dim dblQtd As Double ' o que esta depois da vIrgula simples eh comentArio Sub TesteA() Cells(1, 1) = "XYZ" ' escreve isso na cElula (A1) da planilha 1 Call TesteB Debug.Print dblQtd ' mostrar o valor da variável na janela do módulo Cells(1, 1) = "" ' deleta o que estiver na cElula (A1) da planilha 1 End Sub Sub TesteB() dblQtd = 900 End Sub o que esteja nas células da dita cuja linha . e se você já tiver feito um código sobre esse exercício e puder / quiser ,, poste ele aqui e ajudaremos se ainda precisar . ! -
C string / array de caracteres
devair1010 respondeu ao tópico de Matheus Marcelino Santos em C/C#/C++
@Matheus Marcelino Santos na linguagem C , tem dados do tipo : int , float , double , long , char e bool , mas não tem o tipo "string" , e então usa se um vetor de caracteres "char vetor[ ]" para armazenar os caracteres , pois se for apenas um caractere não precisa ser vetor , pode ser um variável simples , que armazena apenas um caractere , então sim , o Array e string são a mesma coisa , pois recebe/aceita qualquer caractere . isso na verdade não é lixo , são dados armazenados na memória , onde todos os bytes são preenchidos com algum valor por outros programas que estejam rodando ao mesmo tempo ou até os que já foram fechados , mas os dados permanecem guardados na memória , por isso não se pode excluir o que esteja na memória , mas apenas substituir por outro valor , e assim o que aparece na tela é o que está armazenado na memória , e o compilador vai escrever os caracteres até encontrar um zero "0" do tipo inteiro , ou um '\0' que tem o mesmo significado de finalizar a string . mas tem diferença a forma como o zero é inserido : #include <stdio.h> #include <string.h> int main() { char string[] = "math\0eus"; /// aqui escreve apenas "math" char string[] = "math0eus"; /// aqui escreve "math0eus" char string[] = "matheus"; string[4] = 0; /// aqui tambEm só escreve "math" printf("A string= %s\n",string); return 0; } -
C erro label at end of compound statement
devair1010 respondeu ao tópico de Matheus Marcelino Santos em C/C#/C++
@Matheus Marcelino Santos olá , esse erro se refere ao switch / case , onde o "case" precisa ser acompanhado por mais alguma instrução que pode ser o "break;" que é necessário e geralmente usado . case DOIS: /// Ou seja, usuário escolheu a opção CONQUISTAS: printf("eh DOIS\N"); break; Default: printf("opCAo invAlida . . . !\n"); break; porém observei também que esses "defines" #define UM 49 /// 49 - 48 = 1 #define DOIS 50 /// 50 - 48 = 2 #define TRES 51 /// 51 - 48 = 3 #define ESC 27 /// 49 - 27 = -21 /// que poderia ser assim : #define UM 1 #define DOIS 2 #define TRES 3 #define ESC -21 e essa função "lerOpc" são desnecessários pois você pode usar números mesmo , retornado da função "menu" , assim : /// FunCAo para imprimir o menu e retornar uma opCAo : int menu ( ) { printf("\t\tPEDRA PAPEL TESOURA "); printf("\n\t\t\tby Matheus Marcelino "); printf("\n\t__________________________________________ \n"); printf("\n\t[ 1 ] - Jogar "); printf("\n\t[ 2 ] - Conquistas "); printf("\n\t[ESC] - Sair "); printf("\n\t__________________________________________ "); printf("\n\n\tPressione a tecla referente a opção desejada."); return getch() - 48; /// retorna o nUmero 1 ou 2 ou ( -21 para o ESC ) } /// pega a opCAo e retorna sem teclar ENTER -
VisualG Palavra-chave "Procedimento" não é reconhecida
devair1010 respondeu ao tópico de gustavo_ffr em Programação - iniciantes
-
VisualG Palavra-chave "Procedimento" não é reconhecida
devair1010 respondeu ao tópico de gustavo_ffr em Programação - iniciantes
@gustavo_ffr olá , boa noite , sabe que você tem razão sobre configurar o VisualG , para que as palavras chaves fiquem todas sublinhadas , e também na cor que se queira , então com o visualG aberto clique em : manutenção / configurações , e na janela aberta clique em palavra chave e escolha uma dessas três opções : Negrito Itálico ou Sublinhado , e também pode escolher a cor , depois clique em OK e assim todas as palavras chave seguirão de acordo com as opções escolhidas , e na próxima vez que abrir o visualG as opções continuarão como escolhidas , mas se abrir a configuração novamente não terá nada , das opções escolhidas , marcado , mas funcionarão de acordo como escolhidas assim mesmo . -
C++ algoritmo de um grupo calcular a maior e a menor altura
devair1010 respondeu ao tópico de raphu_ em C/C#/C++
@raphu_ olá , esse código não é de C++ , não , ele realmente é da linguagem C , a menor altura , você pode usar um if para pegar a primeira altura inserida pelo usuário , e a partir dessa vai testando as seguintes , pode ser assim : #include <stdio.h> #include <conio.h> #include <float.h> #include <iso646.h> #include <stdlib.h> #include <string.h> int main ( ) { int x ; int i ; int numhomem = 0 ; int nummulher = 0 ; float h = 0.0; float media = 0.0; float somahm = 0.0; float maioraltura = 0.0; float menoraltura = 0.0; char sexo[12] = ""; printf("digite o numero do grupo: "); fflush(stdin); /// quando muda o tipo de dado da leitura com scanf scanf("%d", & x ); /// ele pula essa instruCAo e vai para a outra linha for(i=0; i<x; i++) { printf("digite sua altura: "); fflush(stdin); /// quando muda o tipo de dado lido por scanf scanf("%f", & h ); /// costuma pular para outra linha if(i==0) /// só pega na primeira entrada { menoraltura = h; /// só pega a primeira altura digitada maioraltura = h; /// e inicializa as duas variAveis } printf("digite qual o seu sexo: "); fflush(stdin); /// limpa o buffer em ealguns casos scanf("%s", sexo); /// ler String não precisa desse sImbolo "&" /// pois já tem o endereCo da variAvel if(strcmp(sexo,"feminino") == 0 ) { printf("Mulher %.2f\n",h); nummulher++; somahm = h + somahm; ///media=somahm/nummulher; isso aqui melhor colocar depois do laCo for } else { if (strcmp(sexo,"masculino") == 0 ) { printf("Homen %.2f\n",h); numhomem++; } } if(h > maioraltura) { maioraltura = h; ///menoraltura= maioraltura; } else { if ( h < menoraltura ) { menoraltura = h; } } } media = somahm / nummulher; printf("maior altura -----------: %.2f\n", maioraltura); /// não precisa desse sImbolo "&"no printf , não printf("menor altura -----------: %.2f\n", menoraltura); printf("media altura mulheres --: %.2f\n", media ); printf("numero de homens -------: %3d \n", numhomem ); return 0; } -
Por onde eu começo estudar programação para criar jogos?
devair1010 respondeu ao tópico de togresco em Estudos e mercado de trabalho
@togresco na Udemy tem vários cursos de criação de jogos a um preço razoavelmente bons : https://www.udemy.com/courses/search/?src=ukw&q=criar+jogos alguns aqui , nesse Link acima . ! -
Posso usar uma memórias ram de frequências diferentes:
devair1010 respondeu ao tópico de lucasz8k em Memórias (RAM)
@lucasz8k @lucasz8k se as duas memórias forem do mesmo tipo, ex : DDR4 , sim pode , como o @Dion10 disse, e ela vai funcionar em 2666 MHz igual a outra , mas se for DDR3 ou DDR5 , aí não , pois nem conseguiria encaixar no socket de memória da placa . -
C Ler um texto e transformá-lo em um Array Bidimencional
devair1010 respondeu ao tópico de IzeraXD em C/C#/C++
@IzeraXD tem muitos erros de sintaxe nesse seu código , e a função "Text_In_Array" não retorna nada , e se retornasse alguma coisa precisaria usar a função "strcpy" para preencher a string , Text_II[ii][pp] = ( Text_In_Array ( F_R_N_LINES , F_R_N_Colums , (FILE*) (Text_I = fopen("Text_In_Array.txt","r")), Text_Read )) ; /// o sinal de igual "=" não preenche a string precisa do strcpy : strcpy( Text_II[ii][pp] , ( Text_In_Array ( F_R_N_LINES , F_R_N_Colums , (FILE*) (Text_I = fopen("Text_In_Array.txt","r") ), Text_Read ) ) ) ; /// o strcpy copia o texto e preenche a string e esse Array bidimensional "TEXT_II" na verdade é um vetor de string's , pois tem apenas Duas Dimensões , e uma matriz de string precisam ter 3 Dimensões , e não precisa e nem pode ter esse símbolos "&" no printf , e se quer apenas pegar o texto do Arquivo e colocar no Array , não precisa de tantas coisas , como _fpurge fflush setbuf , pode ser algo assim : #define _WIN32_WINNT 0x600 #define _h GetStdHandle(STD_OUTPUT_HANDLE) #include <stdio.h> #include <conio.h> #include <iso646.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <math.h> #include <time.h> #include <locale.h> int main ( int argc, char *argv[] ) { int letra,fundo; int i = 0; char txt[301] = ""; char Array[300][300] = {}; CONSOLE_SCREEN_BUFFER_INFO _c ; if( GetConsoleScreenBufferInfo ( _h, & _c ) ) { letra = ( _c.wAttributes & 0xFF ) & 0x0F; fundo = ( ( _c.wAttributes & 0xFF ) >> 4 ) & 0x0F; } SetConsoleTextAttribute( _h, 11 + ( 0 << 4 ) ); setlocale(LC_ALL,""); ///------------------------------------------------------- FILE* arq = fopen("nome_arquiv.txt","r"); while(fgets(txt,300,arq) != 0) { txt[strlen(txt)-1] = 0; /// remove o newLine pego por fgets strcpy( Array[i] , txt ); /// coloca na posi e incrementa printf("%3d - %s\n",i,Array[i]); i++; } fclose(arq); ///------------------------------------------------------- SetConsoleTextAttribute( _h, letra + ( fundo << 4 ) ); printf("\n\n\n"); return 0; } -
comprei uma rx580 usada de 8gb da power color
devair1010 respondeu ao tópico de welington08A em Placas de vídeo
@welington08A posta uma imagem dessa imagem "sharper" , e parece que é o mesmo que aconteceu com minha placa de vídeo Nvidia Gforce 6200 , o ci dela pifou . -
Java Criar caça palavras no VSCODE <>
devair1010 respondeu ao tópico de 10programas em Java/Android SDK
@10programas se você já tiver feito um código sobre esse exercício, poste aqui e ajudaremos . Se ainda precisar -
VisualG Palavra-chave "Procedimento" não é reconhecida
devair1010 respondeu ao tópico de gustavo_ffr em Programação - iniciantes
qualquer uma das versões funciona , apesar de que a palavra-chave não esteja do modo que está no vídeo , e nsse link explica como baixar essa outra versão : https://www.clubedohardware.com.br/forums/topic/1660930-o-visualg-não-identifica-o-então/#comment-8646043 -
VisualG Palavra-chave "Procedimento" não é reconhecida
devair1010 respondeu ao tópico de gustavo_ffr em Programação - iniciantes
@gustavo_ffr essa versão do visualG que está no vídeo e antiga , é a 2.0, e funcionava daquele jeito , mas nas versões mais novas não é daquele modo , e a versão mais estável e boa é mesmo a 3,0,6,5 , e essa que você está usando é a mais nova e contém alguns bug's , mas as palavras_chaves "procedimento" e "funcao" , são desse modo mesmo , -
VisualG O Visualg diz que precisa de um então mesmo tendo um então
devair1010 respondeu ao tópico de pedrohenriquegonçalvez em Programação - iniciantes
@pedrohenriquegonçalvez e também a variável "ntc" seria "ntp", -
memória RAM NÃO DÁ VÍDEO
devair1010 respondeu ao tópico de LucasAHD em Computador não ligando ou não dando vídeo
se estava funcionando no outro Gabinete então é a fonte de seu gaBinete que está pifadas . -
memória RAM NÃO DÁ VÍDEO
devair1010 respondeu ao tópico de LucasAHD em Computador não ligando ou não dando vídeo
@LucasAHD não é a memória que tem Vídeo , e sim , a placa de vídeo , então experimente colocando outra placa de Vídeo , ou talvez seja as configurações da BIOS dessa sua placa . -
C++ Cronometro de Precisão, não consigo exibir décimos de segundo.
devair1010 respondeu ao tópico de hugoakauane em C/C#/C++
@hugoakauane você pode pegar as horas minutos segundos e millisegundos pela internet . -
Pascal como usar o Turbo PascaL com DOSBOX
devair1010 respondeu ao tópico de devair1010 em Programação - outros
@kgin obrigado , vou testar aqui . -
olá , baixei o turbo pascal junto com DOSBOX e instalei ele e até funcionou , mas não estou conseguindo colocar em tela cheia , ele fica só minimizado dificultando ler as letras pequeninhas ., teria algum modo de maximizar a janela desse Turbo Pascal ? nesse Link : https://br.ccm.net/download/baixaki-17685-turbo-pascal Turbo PascaL com DOSBOX
-
C Estou com um erro no você studio e no codeblocks
devair1010 respondeu ao tópico de Wescleualuno em C/C#/C++
@Wescleualuno olá. , esse visual Studio code é problemático mesmo , use o codeblocks que é bom e fácil para as linguagens. C e c++ . -
C++ Meu VsCode para C++ não reconhece nenhuma Biblioteca.
devair1010 respondeu ao tópico de Cairo Alberto em C/C#/C++
@Cairo Alberto porque você quer usar esse Visual Studio Code , ? , melhor usar mesmo o VisuaL Studio Comunity da microsoft , ou o codeblocks , que funciona bem e é bem fácil de usar e reconhece todas as bibliotecas até mesmo as que você criar . -
@matheus.Matta para essas libs "HEADER" funcionar elas precisam estar na mesma pasta onde você coloca esse código da função main , seu código principaL , aqui a função "main.c" #define _WIN32_WINNT 0x600 #define _h GetStdHandle(STD_OUTPUT_HANDLE) #include <stdio.h> #include <conio.h> #include <iso646.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <math.h> #include <time.h> #include <locale.h> #include <dirent.h> #include "libbmp.h" #include "imghelpers.h" #include "libbmp.c" #include "imghelpers.c" int main ( int argc, char *argv[] ) { int letra,fundo; CONSOLE_SCREEN_BUFFER_INFO _c ; if( GetConsoleScreenBufferInfo ( _h, & _c ) ) { letra = ( _c.wAttributes & 0xFF ) & 0x0F; fundo = ( ( _c.wAttributes & 0xFF ) >> 4 ) & 0x0F; } SetConsoleTextAttribute( _h, 11 + ( 0 << 4 ) ); setlocale(LC_ALL,""); ///------------------------------------------------------- DIR *dp; struct dirent *ep; char filename[100]; int firstFile = 0; // Variável de controle const char directory[] = "uploads/"; // Caminho do diretório int ret = 0; dp = opendir(directory); if (dp != NULL) { while ((ep = readdir(dp))) { if (ep->d_type == DT_REG && !firstFile) { snprintf(filename, sizeof(filename), "%s%s", directory, ep->d_name); firstFile = 1; } } (void)closedir(dp); } else { SetConsoleTextAttribute( _h, 15 + ( 12 << 4 ) ); perror("\n Não foi possível abrir o diretório 'uploads'. ! "); ret = 1; } if( ! ret ) { // Utilize apenas imagens .bmp com o formato 24 (true color) // converta em: https://online-converting.com/image/convert2bmp/ bmp_img img; printf("\n"); IMG_TAM t = pegarTamanho(filename); int l = t.qtdLinhas, c = t.qtdColunas; int R[l][c]; int G[l][c]; int B[l][c]; carregaImagem(t, R, G, B, filename); // manipule sua imagem aqui. for (int i = 0; i < l; i++) { for (int j = 0; j < c; j++) { R[i][j] = G[i][j]; B[i][j] = R[i][j]; G[i][j] = B[i][j]; } } salvaImagem(t, R, G, B, filename); mostrarNoReplit(filename); } ///------------------------------------------------------ SetConsoleTextAttribute( _h, letra + ( fundo << 4 ) ); printf("\n\n\n"); return ret ; } o código do "HEADER" libbmp.h : #ifndef LIBBMP_H_INCLUDED #define LIBBMP_H_INCLUDED #include <stdio.h> #define BMP_MAGIC 19778 #define BMP_GET_PADDING(a) ((a) % 4) #define BMP_PIXEL(r, g, b) ((bmp_pixel){(b), (g), (r)}) enum bmp_error { BMP_FILE_NOT_OPENED = -4, BMP_HEADER_NOT_INITIALIZED, BMP_INVALID_FILE, BMP_ERROR, BMP_OK = 0 }; typedef struct ax as; typedef struct _bmp_header { unsigned int bfSize; unsigned int bfReserved; unsigned int bfOffBits; unsigned int biSize; int biWidth; int biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned int biCompression; unsigned int biSizeImage; int biXPelsPerMeter; int biYPelsPerMeter; unsigned int biClrUsed; unsigned int biClrImportant; } bmp_header; typedef struct _bmp_pixel { unsigned char blue; unsigned char green; unsigned char red; } bmp_pixel; typedef struct _bmp_img { bmp_header* img_header; bmp_pixel **img_pixels; } bmp_img; void bmp_header_init_df (bmp_header*, const int, const int); enum bmp_error bmp_header_write(const bmp_header*, FILE* ); enum bmp_error bmp_header_read (bmp_header*, FILE* ); void bmp_pixel_init (bmp_pixel*, const unsigned char , const unsigned char, const unsigned char); void bmp_img_alloc (bmp_img* ); void bmp_img_init_df (bmp_img*, const int, const int ); void bmp_img_free (bmp_img* ); enum bmp_error bmp_img_write (const bmp_img*, const char* ); enum bmp_error bmp_img_read (bmp_img*, const char* ); #endif /// LIBBMP_H_INCLUDED e o código do header imghelpers : #ifndef IMGHELPERS_H #define IMGHELPERS_H #include <stdio.h> typedef struct IMG_TAM { int qtdLinhas; int qtdColunas; }; typedef struct IMG_TAM IMG_TAM; IMG_TAM pegarTamanho(const char *filename); void carregaImagem( IMG_TAM t, int R[t.qtdLinhas][t.qtdColunas], int G[t.qtdLinhas][t.qtdColunas], int B[t.qtdLinhas][t.qtdColunas], const char *filename); void salvaImagem( IMG_TAM t, int R[t.qtdLinhas][t.qtdColunas], int G[t.qtdLinhas][t.qtdColunas], int B[t.qtdLinhas][t.qtdColunas], const char *filename); void zerarPixels( IMG_TAM t, unsigned char PIX[t.qtdLinhas][t.qtdColunas]); void mostrarNoReplit(const char *filename); #endif /// IMGPHELPERS_H_INCLUDED e aqui o código da libbmp. c : /// Aqui ColoQue O cOdigo Das FunCOes void bmp_header_init_df(bmp_header *header, const int width, const int height) { header->bfSize = (sizeof(bmp_pixel) * width + BMP_GET_PADDING(width)) * abs(height); header->bfReserved = 0; header->bfOffBits = 54; header->biSize = 40; header->biWidth = width; header->biHeight = height; header->biPlanes = 1; header->biBitCount = 24; header->biCompression = 0; header->biSizeImage = 0; header->biXPelsPerMeter = 0; header->biYPelsPerMeter = 0; header->biClrUsed = 0; header->biClrImportant = 0; } enum bmp_error bmp_header_write(const bmp_header *header, FILE *img_file) { if (header == NULL) { return BMP_HEADER_NOT_INITIALIZED; } else if (img_file == NULL) { return BMP_FILE_NOT_OPENED; } const unsigned short magic = BMP_MAGIC; fwrite(&magic, sizeof(magic), 1, img_file); fwrite(header, sizeof(bmp_header), 1, img_file); return BMP_OK; } enum bmp_error bmp_header_read(bmp_header *header, FILE *img_file) { if (img_file == NULL) { return BMP_FILE_NOT_OPENED; } unsigned short magic; if (fread(&magic, sizeof(magic), 1, img_file) != 1 || magic != BMP_MAGIC) { return BMP_INVALID_FILE; } if (fread(header, sizeof(bmp_header), 1, img_file) != 1) { return BMP_ERROR; } return BMP_OK; } void bmp_pixel_init(bmp_pixel *pxl, const unsigned char red, const unsigned char green, const unsigned char blue) { pxl->red = red; pxl->green = green; pxl->blue = blue; } void bmp_img_alloc(bmp_img *img) { const size_t h = abs(img->img_header->biHeight); img->img_pixels = malloc(sizeof(bmp_pixel *) * h); for (size_t y = 0; y < h; y++) { img->img_pixels[y] = malloc(sizeof(bmp_pixel) * img->img_header->biWidth); } } void bmp_img_init_df(bmp_img *img, const int width, const int height) { bmp_header_init_df(&img->img_header, width, height); bmp_img_alloc(img); } void bmp_img_free(bmp_img *img) { const size_t h = abs(img->img_header->biHeight); for (size_t y = 0; y < h; y++) { free(img->img_pixels[y]); } free(img->img_pixels); } enum bmp_error bmp_img_write(const bmp_img *img, const char *filename) { FILE *img_file = fopen(filename, "wb"); if (img_file == NULL) { return BMP_FILE_NOT_OPENED; } const enum bmp_error err = bmp_header_write(&img->img_header, img_file); if (err != BMP_OK) { fclose(img_file); return err; } const size_t h = abs(img->img_header->biHeight); const size_t offset = (img->img_header->biHeight > 0 ? h - 1 : 0); const unsigned char padding[3] = {'\0', '\0', '\0'}; for (size_t y = 0; y < h; y++) { fwrite(img->img_pixels[offset - y], sizeof(bmp_pixel), img->img_header->biWidth, img_file); fwrite(padding, sizeof(unsigned char), BMP_GET_PADDING(img->img_header->biWidth), img_file); } fclose(img_file); return BMP_OK; } enum bmp_error bmp_img_read(bmp_img *img, const char *filename) { FILE *img_file = fopen(filename, "rb"); if (img_file == NULL) { return BMP_FILE_NOT_OPENED; } const enum bmp_error err = bmp_header_read(&img->img_header, img_file); if (err != BMP_OK) { fclose(img_file); return err; } bmp_img_alloc(img); const size_t h = abs(img->img_header->biHeight); const size_t offset = (img->img_header->biHeight > 0 ? h - 1 : 0); const size_t padding = BMP_GET_PADDING(img->img_header->biWidth); const size_t items = img->img_header->biWidth; for ( size_t y = 0; y < h; y++) { if (fread(img->img_pixels[offset - y], sizeof(bmp_pixel), items, img_file) != items) { fclose(img_file); return BMP_ERROR; } fseek(img_file, padding, SEEK_CUR); } fclose(img_file); return BMP_OK; } e o código da função imghelpers.c : /// Aqui ColoQue Os cOdigo Das FunCOes typedef struct bmp_img; typedef struct IMG_TAM; typedef bmp_img; IMG_TAM pegarTamanho(const char *filename) { /// coloque o cOdigo Aqui, o q voce quer q ele faCa . printf("Você não tinhA essa FuCAo . !\n"); return; } void salvaImagem /// funCAo salvar imagem (IMG_TAM t, int R[t.qtdLinhas][t.qtdColunas], int G[t.qtdLinhas][t.qtdColunas], int B[t.qtdLinhas][t.qtdColunas], const char *filename) { /// coloque o cOdigo Aqui, o q voce quer q ele faCa . return; } void mostrarNoReplit(const char *filename) { return; } void carregaImagem( IMG_TAM t, int R[t.qtdLinhas][t.qtdColunas], int G[t.qtdLinhas][t.qtdColunas], int B[t.qtdLinhas][t.qtdColunas], const char *filename) { /// coloque o cOdigo Aqui, o q voce quer q ele faCa . return; } porém essas funções que fazem as modificações nas imagens , não estão prontas , pois falta exatamente um código para fazer tais modificações .
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
