Ir para conteúdo
Fórum Script Brasil

WayGlass

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre WayGlass

Perfil

  • Gender
    Male

WayGlass's Achievements

0

Reputação

  1. Olá, Fiz um programa que move números em uma matriz - um trabalho em que devo refazer o jogo 2048 em C. Eu digito a direção então ele move, porém, quando eu digito as direções para cima ou para baixo ele dá o erro "Falha de segmentação (imagem do núcleo gravada)" e finaliza o programa. Não achei o erro da função, se puder me ajudar. A função que move os numeros para cima: #include<stdio.h> //MATRIZ[4][4]; void dirCima(char dir,int *pMatriz[][4]) { //46 quer dizer que o bloco está vazio{ int i,j,cont; do{ for(j=0;j<=3;j++) { for(i=0,cont=1;i<4;i++)//este cont será usado para executar N vezes o próximo 'for'. { if(*pMatriz[i][j]!=46) cont++; } do{ for(i=0;i<4;i++) { if(*pMatriz[i][j]!=46) { if(*pMatriz[i+1][j]==*pMatriz[i][j]) { *pMatriz[i+1][j]+=*pMatriz[i][j];//se o número for igual ao que está indo para sua direção eles se somam. *pMatriz[i][j]=46; imprimeMatriz(pMatriz); } if(*pMatriz[i-1][j]==46&&i-1>=0) {//se o bloco estiver vazio ele receberá o número que vai na sua direção *pMatriz[i-1][j]=*pMatriz[i][j]; *pMatriz[i][j]=46; imprimeMatriz(pMatriz); } } } cont--; }while(cont>=0); } }while(i<=3&&i>=0); } A que move para baixo: #include<stdio.h> //MATRIZ[4][4]; void dirBaixo(char dir,int *pMatriz[][4]) { //46 quer dizer que o bloco está vazio int i,j,cont; do{ for(j=0;j<=3;j++) { for(i=3,cont=1;i>=0;i--)//este cont será usado para executar N vezes o próximo 'for'. { if(*pMatriz[i][j]!=46) cont++; } do{ for(i=3;i>=0;i--) { if(*pMatriz[i][j]!=46) { if(*pMatriz[i-1][j]==*pMatriz[i][j]) { *pMatriz[i-1][j]+=*pMatriz[i][j];//se o número for igual ao que está indo para sua direção eles se somam. *pMatriz[i][j]=46; imprimeMatriz(pMatriz); } if(*pMatriz[i+1][j]==46&&j+1<=3) {//se o bloco estiver vazio ele receberá o número que vai na sua direção *pMatriz[i+1][j]=*pMatriz[i][j]; *pMatriz[i][j]=46; imprimeMatriz(pMatriz); } } } cont--; }while(cont>=0); } }while(i<=3&&i>=0); }
  2. Pessoal, estou aprendendo a criar makefile então fiz um teste. Criei um main.c, funcao.h, funcao.c e o makefile. Quando executo o make dá esse erro: main.c: In function ‘funcao’: main.c:5:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token int main{ ^ main.c:9:1: error: expected ‘{’ at end of input } ^ make: ** [main.o] Erro 1 casa@Casa-945GZM-S2:~/Documentos/Meu_Makefile$ make main.c: In function ‘funcao’: main.c:5:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token int main( ){ ^ main.c:9:1: error: expected ‘{’ at end of input } ^ make: ** [main.o] Erro 1 Minha main.c: #include <stdio.h> #include <stdlib.h> #include "funcao.h" int main( ){ int x=10; funcao(x); return 0; }
  3. Pessoal, estou aprendendo a criar makefile então fiz um teste. Criei um main.c, funcao.h, funcao.c e o makefile. Quando executo o make dá esse erro: main.c: In function ‘funcao’: main.c:5:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token int main{ ^ main.c:9:1: error: expected ‘{’ at end of input } ^ make: ** [main.o] Erro 1 casa@Casa-945GZM-S2:~/Documentos/Meu_Makefile$ make main.c: In function ‘funcao’: main.c:5:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token int main( ){ ^ main.c:9:1: error: expected ‘{’ at end of input } ^ make: ** [main.o] Erro 1 Minha main.c: #include <stdio.h> #include <stdlib.h> #include "funcao.h" int main( ){ int x=10; funcao(x); return 0; } Quando eu tiro '#include "funcao.h"' funciona.
  4. Galera, estou testando as funções de números aleatórios "rand","srand" e as bibliotecas "time.h" e "stdlib.h". Escrevi um código que imprime um número aleatório toda vez que se aperta enter, e funcionou, porém eu percebi que para esse número mudar demora 1 segundo. Eu queria saber se tem como esse tempo que pega outro número aletório diminuir. [RESOLVIDO] Consegui aqui, eu só precisava tirar minha srand do loop de repetição.
  5. WayGlass

    Olá

    Sou novo nos fóruns, este é o primeiro que eu uso (antes só lia alguns). Estou aqui para pegar os conhecimentos soltos por aí hahaha. Por enquanto estou aprendendo programar em C e, claro, quero aumentar minhas habilidades nessa e em outras linguagens!!!
×
×
  • Criar Novo...