Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.293
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @H3nrick e o resto do código ? post aí para vermos como ele está funcionando. lá no vetor você poderia colocar um valor tipo 1 para um jogador e 2 para o outro jogador e então se no lugar ainda não tiver sido escolhido por nenhum jogador seria zero, assim na hora de verificar se o lugar está ocupado ou não, seria mais fácil pois se fosse zero é por que está vago senão estaria ocupado e saberia qual jogador.
  2. @miguel986 não entendi muito bem o que é para fazer, poste seu código para eu ver como é, pode ser esse inicio que você já fez.
  3. devair1010

    jogo da velha

    @vangodp obrigado pelas dicas, valeu, vou ver se consigo fazer essas modificações.
  4. devair1010

    jogo da velha

    olá galera, consegui terminar o jogo da velha, fiz uma IA baseada no minimax e parece que ficou boa mas teria como melhorar alguma coisa ? aqui está código : #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include <windows.h> int vet [4][4]; int vet2[4][4]; int i,j,a,b,g,h,r,k,w,f; int vg,cg,qg,qjp,f,e,m,vjc; int ja[11][7]={{126, 32, 32, 32, 33, 18, 12}, /* letra J*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 60, 66, 1, 1,113, 98, 92}, /* letra G*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 31, 33, 65, 65, 65, 33, 31}, /* letra D*/ { 28, 34, 65, 65,127, 65, 65}, /* letra A*/ { 65, 65, 65, 34, 34, 20, 8}, /* letra V*/ { 63, 1, 1, 31, 1, 1, 63}, /* letra E*/ { 1, 1, 1, 1, 1, 1,127}, /* letra L*/ { 65, 65, 65,127, 65, 65, 65}, /* letra H*/ { 28, 34, 65, 65,127, 65, 65}};/* letra A*/ char c[5]; void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } void desenha(int vt){ gotoxy(71,4) ;printf(" ///" ); gotoxy(71,5) ;printf("(. .)" ); gotoxy(72,6) ;printf(" -" ); gotoxy(72,18);printf("%c",184); gotoxy(0,0) ;printf("\n\n" ); printf(" 1 2 3\n" ); printf(" %c %c %c\n\n",31,31,31); for(i=1;i<4;i++){ if(i==1){printf(" A -%c ",16);} else{ if(i==2){printf(" B -%c ",16);} else{ printf(" C -%c ",16); } } for(j=1;j<4;j++){ if(vt==1){ if(vet[i][j]==1){if(vjc==1){printf(" O ");}else{printf(" X ");}} else{ if(vet[i][j]==2){if(vjc==2){printf(" O ");}else{printf(" X ");}} else{printf(" ");} }} else{ if(vet2[i][j]==1){if(vjc==1){printf(" O ");}else{printf(" X ");}} else{ if(vet2[i][j]==2){if(vjc==2){printf(" O ");}else{printf(" X ");}} else{printf(" ");} }} if(j==3){printf("\n");} if(j<3){printf("|");} } if(i<3){printf(" -----------\n");} } printf(" Vit%crias Do Computador ------> %d\n",224,cg); printf(" Vit%crias Do Jogador Humano --> %d\n",224,vg); } int verifica_se_ganhou(int g,int h){ for(i=1;i<4;i++){for(j=1;j<4;j++){vet2[i][j]=vet[i][j];}} if(vet[1][1]==h&&vet[1][2]==h&&vet[1][3]==h){g=1;vet2[1][1]=3;vet2[1][2]=3;vet2[1][3]=3;} if(vet[2][1]==h&&vet[2][2]==h&&vet[2][3]==h){g=1;vet2[2][1]=3;vet2[2][2]=3;vet2[2][3]=3;} if(vet[3][1]==h&&vet[3][2]==h&&vet[3][3]==h){g=1;vet2[3][1]=3;vet2[3][2]=3;vet2[3][3]=3;} if(vet[1][1]==h&&vet[2][1]==h&&vet[3][1]==h){g=1;vet2[1][1]=3;vet2[2][1]=3;vet2[3][1]=3;} if(vet[1][2]==h&&vet[2][2]==h&&vet[3][2]==h){g=1;vet2[1][2]=3;vet2[2][2]=3;vet2[3][2]=3;} if(vet[1][3]==h&&vet[2][3]==h&&vet[3][3]==h){g=1;vet2[1][3]=3;vet2[2][2]=3;vet2[3][3]=3;} if(vet[1][1]==h&&vet[2][2]==h&&vet[3][3]==h){g=1;vet2[1][1]=3;vet2[2][2]=3;vet2[3][3]=3;} if(vet[1][3]==h&&vet[2][2]==h&&vet[3][1]==h){g=1;vet2[1][3]=3;vet2[2][2]=3;vet2[3][1]=3;} return g; } int inicio(int tp){ c[0]='p'; if(tp==1){printf("\nVoc%c Quer Jogar Mais Uma Partida ? S/N ",136);gets(c);goto l6;} do{ desenha(2); if(tp==2){printf("\nO Computador Ganhou Essa Partida");} if(tp==3){printf("\nVoc%c Ganhou Essa Partida ",136);} printf("\nVoc%c Quer Jogar Mais Uma Partida ? S / N ",136); for(f=0;f<100000;f++){for(k=0;k<3000;k++);} desenha(1); if(tp==2){printf("\nO Computador Ganhou Essa Partida");} if(tp==3){printf("\nVoc%c Ganhou Essa Partida ",136);} printf("\nVoc%c Quer Jogar Mais Uma Partida ? S / N ",136); for(f=0;f<100000;f++){for(k=0;k<1000;k++);} if(kbhit()){gets(c);} }while(c[0]!='s'&&c[0]!='n'); l6: k=0; if(c[0]=='n'){k=27;} for(i=0;i<4;i++){ for(j=0;j<4;j++){ vet[i][j]=0; } } system("cls"); desenha(1); return k; } int raciocinio(int p){ if(vet[2][2]==0){vet[2][2]=1;return 1;} if(vet[2][2]==p){if(vet[1][1]==p){if(vet[3][3]==0){vet[3][3]=1;return 1;}}} if(vet[2][2]==p){if(vet[1][2]==p){if(vet[3][2]==0){vet[3][2]=1;return 1;}}} if(vet[2][2]==p){if(vet[1][3]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[2][2]==p){if(vet[2][3]==p){if(vet[2][1]==0){vet[2][1]=1;return 1;}}} if(vet[2][2]==p){if(vet[3][3]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} if(vet[2][2]==p){if(vet[3][2]==p){if(vet[1][2]==0){vet[1][2]=1;return 1;}}} if(vet[2][2]==p){if(vet[3][1]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[2][2]==p){if(vet[2][1]==p){if(vet[2][3]==0){vet[2][3]=1;return 1;}}} if(vet[1][1]==p){if(vet[1][2]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[1][1]==p){if(vet[2][1]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[1][1]==p){if(vet[1][2]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[1][1]==p){if(vet[1][3]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} if(vet[1][2]==p){if(vet[1][1]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[1][2]==p){if(vet[1][3]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} if(vet[1][3]==p){if(vet[1][2]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} if(vet[1][3]==p){if(vet[1][1]==p){if(vet[1][2]==0){vet[1][2]=1;return 1;}}} if(vet[1][3]==p){if(vet[2][3]==p){if(vet[3][3]==0){vet[3][3]=1;return 1;}}} if(vet[1][3]==p){if(vet[2][1]==p){if(vet[2][3]==0){vet[2][3]=1;return 1;}}} if(vet[2][3]==p){if(vet[1][3]==p){if(vet[3][3]==0){vet[3][3]=1;return 1;}}} if(vet[2][3]==p){if(vet[3][3]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[3][3]==p){if(vet[2][3]==p){if(vet[1][3]==0){vet[1][3]=1;return 1;}}} if(vet[3][3]==p){if(vet[1][3]==p){if(vet[2][3]==0){vet[2][3]=1;return 1;}}} if(vet[3][3]==p){if(vet[3][2]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[3][3]==p){if(vet[3][1]==p){if(vet[3][2]==0){vet[3][2]=1;return 1;}}} if(vet[3][2]==p){if(vet[3][1]==p){if(vet[3][3]==0){vet[3][3]=1;return 1;}}} if(vet[3][2]==p){if(vet[3][3]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[3][1]==p){if(vet[3][2]==p){if(vet[3][3]==0){vet[3][3]=1;return 1;}}} if(vet[3][1]==p){if(vet[3][3]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[3][1]==p){if(vet[2][1]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} if(vet[3][1]==p){if(vet[1][1]==p){if(vet[2][1]==0){vet[2][1]=1;return 1;}}} if(vet[2][1]==p){if(vet[1][1]==p){if(vet[3][1]==0){vet[3][1]=1;return 1;}}} if(vet[2][1]==p){if(vet[3][1]==p){if(vet[1][1]==0){vet[1][1]=1;return 1;}}} return 0; } int computador_joga(){ printf("\nO Computador Est%c Pensando ",160); for(m=0;m<10;m++){ printf("."); for(f=0;f<10000;f++){ for(e=0;e<30000;e++); } } printf("!"); for(f=0;f<10000;f++){for(e=0;e<9000;e++){;}} r=raciocinio(1);/*se for 1 então computador achou lugar para joggar*/ if(r==1){return 0;} r=raciocinio(2); if(r==1){return 0;} if(vet[1][1]==0){vet[1][1]=1;return 0;} if(vet[1][3]==0){vet[1][3]=1;return 0;} if(vet[3][3]==0){vet[3][3]=1;return 0;} if(vet[3][1]==0){vet[3][1]=1;return 0;} if(vet[1][2]==0){vet[1][2]=1;return 0;} if(vet[2][3]==0){vet[2][3]=1;return 0;} if(vet[3][2]==0){vet[3][2]=1;return 0;} if(vet[2][1]==0){vet[2][1]=1;return 0;} return 1; } int verifica_se_empatou(){ int w=0; for(f=1;f<4;f++){ for(e=1;e<4;e++){ if(vet[f][e]==0){w=1;} } } return w;/*se w=0 então acabou a partida*/ } void marca(){/*para jogar com X ou O */ l7: gotoxy(23,22); printf("Voc%c Quer Jogar Com X ou O ",136); scanf("%s",&c[0]); if((c[0]!='x' && c[0]!='X') && (c[0]!='o' && c[0]!='O')){goto l7;} if(c[0] =='x'|| c[0] =='X'){vjc=1;}/*voce joga com */ if(c[0] =='o'|| c[0] =='O'){vjc=2;} } int tela(){ int y1=5,x1=23,y2=y1; for(i=0;i<11;i++){ if(i==4){y1=13;x1=10;y2=y1;} if(i==6){y1=13;x1=30;y2=y1;} for(j=0;j<7;j++){ gotoxy(x1,y1); a=ja[i][j]; for(b=0;b<7;b++){ if(a % 2 != 0){printf("%c",219);}else{printf(" ");} a=a/2; } y1++; } x1=x1+8; y1=y2; } printf(" %c",169); gotoxy(5,1);printf("%c",201);/*╔*/ for(i=2;i<23;i++){ gotoxy(5,i) ;printf("%c",186);/*║*/ gotoxy(72,i);printf("%c",186); } for(i=6;i<72;i++){ gotoxy(i,1) ;printf("%c",205);/*═*/ gotoxy(i,23);printf("%c",205); gotoxy(i,21);printf("%c",205); } gotoxy(72,1) ;printf("%c",187);/*╗*/ gotoxy(72,23);printf("%c",188);/*╝*/ gotoxy(5,23) ;printf("%c",200);/*╚*/ gotoxy(5,21) ;printf("%c",204); gotoxy(72,21);printf("%c",185); gotoxy(66,3) ;printf("%c%c%c",92,92,92); gotoxy(66,4) ;printf("(. .)" ); gotoxy(66,5) ;printf(" -" ); return 0; } int main(){ tela(); qjp=1; marca(); do{ l1: system("cls"); desenha(1); printf("\nDigite A B C p/ Linha"); printf("\nDigite 1 2 3 p/ Coluna < ou S para Parar >"); gotoxy(10,16);printf("%c%c%c%c%c%c",201,205,205,205,205,187); gotoxy(10,20);printf("%c%c%c%c%c%c",200,205,205,205,205,188); gotoxy(10,17);printf("%c %c" ,186,186 ); gotoxy(10,18);printf("%c %c" ,186,186 ); gotoxy(10,19);printf("%c %c" ,186,186);gotoxy(12,18 ); fflush(stdin); gets(c); if(c[0]=='a' || c[0]=='A'){a=1;} if(c[0]=='b' || c[0]=='B'){a=2;} if(c[0]=='c' || c[0]=='C'){a=3;} if(c[1]=='1'){b=1;} if(c[1]=='2'){b=2;} if(c[1]=='3'){b=3;} if(c[0]=='s'||c[0]=='S'){printf("\n\n");break;} if(strlen (c) > 2){ printf("\n\n\nS%c Pode Ser Duas Coordenadas >>> Tecle <<<",224);getch();goto l1;} if(vet[a][b] != 0){ printf("\n\n\nEsta Posi%c%co Est%c Ocupada >>> Tecle <<<",135,198,160);getch();goto l1;} if(c[0]!='a'&&c[0]!='b'&&c[0]!='c'){printf("\n\n\nS%c Pode Ser A B C >>> Tecle <<<",224);getch();goto l1;} if(c[1]!='1'&&c[1]!='2'&&c[1]!='3'){printf("\n\n\nS%c Pode Ser 1 2 3 >>> Tecle <<<",224);getch();goto l1;} vet[a][b] = 2;/*voce joga*/ system("cls"); desenha(1); g = 0; h = 2; qg = 0;/* 2 é humano*/ r=verifica_se_ganhou(g,h);/*se r=1 então humano ganhou*/ system("cls"); desenha(1); if(r == 1){printf("\nVoc%c Ganhou Essa Partida ",136);vg++;k=inicio(3);qg=1;} if(k == 27){goto l5;}else{if(r==1){marca();}} r=verifica_se_empatou(); if(r == 0 && qg == 0 && k != 27){ printf("\nEssa Partida Terminou Empatada >>> Tecle <<<"); getch(); k = inicio(0); if(k == 27 ){goto l5;}else{if(r==0){marca();}} if(qjp == 1){qg=1;qjp=2;goto l3;}/*se for 1 é humano*/ if(qjp == 2){qg=2;qjp=1;goto l4;} } l2: if(qg == 0){computador_joga();} system("cls"); desenha(1); g= 0;h = 1; r=verifica_se_ganhou(g,h);desenha(1);/*se r=1 então computador ganhou*/ if(r==1){printf("\nO Computador Ganhou Essa Partida ");cg++;;k=inicio(2);qg=2;} if(k==27){goto l5;}else{if(r==1){marca();}} l3: if(qg==1&&k!=27){qg=0;printf("\nO Computador Vai Iniciar A Partida >>> Tecle <<<");getch();qjp=2;goto l2;} l4: if(qg==2){qg=0;printf("\nO Humano Vai Iniciar A Partida >>> Tecle <<<");getch();qjp=1;goto l1;} r=verifica_se_empatou(); if(r==0&&qg==0&&k!=27){ printf("\nEssa Partida Terminou Empatada >>> Tecle <<<"); getch(); k=inicio(0); if(k==27){goto l5;} if(qjp==1){qg=1;goto l3;} if(qjp==2){qg=2;goto l4;} } l5: if(k!=27){} }while(k!=27); return 0; }
  5. devair1010

    Aluno

    @Thuani Bitencourtt seu código está bom, mas precisa de alguns ajustes, ali no aluno atual é preciso colocar o numero de posições e precisa ser declarado antes da main. coloquei a opção Listar para fazer a listagem dos alunos cadastrados, as outra opções são parecidas com essa. veja como ficaria seu código : #include <iostream> #include<stdio.h> #include<string.h> #include <stdlib.h> #include <conio.h> #define SAIR 5 #define TAMANHO 100 #define CARACTERES_NO_NOME 30 #define TURMA_VAZIA 0 #define TRUE 1 #define FALSE 0 using namespace std; typedef struct alunos { int matricula; char nome [CARACTERES_NO_NOME],cad[30]; float nota1, nota2, media; } aluno; aluno atual[TAMANHO];/*mudou aqui*/ int main (){ int matricula,i; char nome [CARACTERES_NO_NOME],cad[30]; float nota1, nota2, media; int opcao, quantidadeDeAlunosNaTurma=0, quantidadeUsada = TURMA_VAZIA; aluno turma [TAMANHO]; printf("\t\t\t**********************\n"); printf("\t\t\t CONFIGURAR O SISTEMA\n"); printf("\t\t\t**********************\n"); printf("Digite a quantidade de alunos na turma "); scanf("%d",&quantidadeDeAlunosNaTurma); printf("\t\t\t**********************\n"); while(opcao!= SAIR){ system("cls"); printf("\t**********************************************************\n"); if(quantidadeUsada == TURMA_VAZIA) { printf("\t\t\t\A turma esta vazia\n"); } if(quantidadeUsada == TAMANHO ) { printf("\t\t\t\A turma esta lotada\n"); } if(quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA ) { printf("\t\t\t\A turma esta com %d alunos\n",quantidadeUsada); } printf("\t\**********************************************************\n\n"); printf("\t\t\t********************\n"); printf("\t\t\t\tMENU\n"); printf("\t\t\t********************\n"); printf("\t\t\t 1-Incluir aluno\n\n"); printf("\t\t\t 2-Excluir aluno\n\n"); printf("\t\t\t 3-Listar alunos \n\n"); printf("\t\t\t 4-Lançar notas\n\n"); printf("\t\t\t 5-Sair\n"); printf("\t\t\t********************\n"); printf("\t\t\topcao --> "); fflush(stdin); scanf("%d",&opcao); if(opcao==1){ system("cls"); int continuar = TRUE; while(quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) { printf("\nDigite um nome\n "); fflush(stdin); fgets(atual[quantidadeUsada].nome, 30, stdin); // Solicitar os demais dados do aluno printf("\nDigite sua matricula\n "); fflush(stdin); scanf("%d",&atual[quantidadeUsada].matricula); fflush(stdin); // Colocar o if perguntando se o usuário realmente deseja incluir printf("\nDeseja realmente Incluir? S/N: "); char resp[5]; fflush(stdin); scanf("%s",&resp); if ( ( resp[0] == 'S' ) || ( resp[0] == 's' ) ){ turma[quantidadeUsada ] = atual[quantidadeUsada]; printf("\nInclusao feita com sucesso Tecle\n"); getch(); } else { if ( ( resp[0] == 'N' ) || ( resp[0] == 'n' ) ) { printf("Inclusao cancelada! Tecle\n"); getch(); } } quantidadeUsada++; turma[quantidadeUsada ] = atual[0]; // Perguntar para o usuário se ele deseja incluir mais alunos na turma continuar = FALSE; } } if(opcao==3){ printf("aqui estão os alunos"); for(i=0;i<quantidadeUsada;i++){ printf("\nNome Da Pessoa ----> %s",atual[i].nome); printf("cuja matricula é -> %d\n",atual[i].matricula); } getch(); } } }
  6. @matias ribeiro da silva você já sabe alguma coisa de programação em c++ ? se souber então faça o algorítimo e post aqui e diga em que está com dúvida. para calcular a área do quadrado, você multiplica um lado pelo outro, que em c++ seria assim : float A = lado_a * lado_b ; para calcular a área do retângulo, é a mesma coisa do quadrado, que em c++ também seria assim : float A = lado_a * lado_b ; para calcular a área do triangulo, você usa essa formula A = 0.5 x lado a x lado b x seno do ângulo entre esses dois lados, que em c++ seria : float a = 0.5 * La * Lb * ( sin ( angulo * 3.14159 / 180 ) ) ; /*convertendo graus para radianos*/ para calcular a área da circunferência, você usa essa formula A=3.14159 x ( raio x raio ) que em c++ seria : float a = 3.14159 * ( r * r ) ;
  7. devair1010

    preciso de força

    @GLL seu código está bom, mas precisa de alguns ajustes e você tem vários trechos que se repetem, então para evitar isso você pode usar uma estrutura de repetição, e nesse caso seria melhor usar o comando for para repetir todos esses trechos, e para mostrar os resultados (puxando as informações para fora) você pode usar novamente o comando for . veja como ficaria seu código com algumas modificações : #include <stdio.h> int i; int main (){ char jacare[10][30]; char jacare2[10]; int idade[10]; char resp[1]; char jacare3[10]; int idade3[5]; char jacare4[10]; int idade4[5]; char jacare5[10]; char jacare6[6]; char jacare7[7]; int idade5[5]; int idade6[6]; int idade7[7]; printf("Vamos Cadastrar Sete Jacares"); for(i=0;i<7;i++){ printf ("INFORME A NOME DO %d JACARE : ",i+1); fflush(stdin); gets(jacare[i]); printf (" INFORME A IDADE DO JACARE: "); fflush(stdin); scanf ("%d",&idade[i]); system ("cls"); } printf("voce vai querer visualizar as informações armazenadas? S/N "); fflush(stdin); scanf("%c",resp); if(resp[0]=='s'){ for(i=0;i<7;i++){ printf("%d jacare --> %s com idade de %d anos\n",i+1,jacare[i],idade[i]); } } return 0; }
  8. devair1010

    jogo da velha

    @vangodp valeu cara, vou tentar fazer de acordo com o minimax .
  9. @Rafael Filho opa então aprendi mais alguma coisa, valeu, vou testar aqui para ver se da certo.
  10. @Rafael Filho como ler acentos eu ainda não sei não, mas sei como imprimir letras acentuadas, por exemplo a letra é seria assim : printf ( " %c " , 130 ) ; isso imprime a letra é minúsculo acentuada.
  11. @Rafael Filho não apague não, deixe aí para que outros possam esclarecer suas dúvidas.
  12. @Rafael Filho esse erro que está dando é porque você colocou Printf com p maiúsculo, então para acertar é só colocar p minúsculo.
  13. @programador123 o erro é porque você colocou void main() e precisa ser int main() e depois do system("pause") ficou faltando colocar ponto e virgula. aqui seu código já concertado. #include<iostream> using namespace std; int main(){ float num1,num2,div; cout<<"Digite a distancia percorrida em km: "; cin>>num1; cout<<"Digite a velocidade media em km h: "; cin>>num2; div=(num1/num2); cout<<"O tempo total foi de: "<<div<<" Horas"; cout << endl; system("pause"); return 0; }
  14. devair1010

    jogo da velha

    @Benjamin Breeg obrigado pela dica vou ver e tentar fazer alguma coisa.
  15. devair1010

    Matriz em C

    @silvaojunior2017 não precisa apagar não, só precisa colocar as funções lá no algoritmo antes da palavra inicio deixa o resto no mesmo lugar e dentro do caso escolha no lugar de resultado = num + 1 coloque resultado = incremento (num) as outras funções é bem parecidas com essa, então coloque elas lá em cima também, num total de quatro funções.
  16. devair1010

    Matriz em C

    @silvaojunior2017 o código que enviei é o mesmo que está lá no tópico de programação iniciantes, o que você precisa fazer é pegar aquele código e colar lá antes do inicio. e se quiser baixe o visualg 3 e cole o código nele para testar se ele está funcionando.
  17. devair1010

    Matriz em C

    @Gabriel Cauê você precisa declarar a matriz assim int matriz1 [ 5 ] [ 5 ] ; int matriz2 [ 5 ] [ 5 ] ; int matriz3 [ 5 ] [ 5 ] ; essa matriz tem cinco linhas por cinco colunas, então você usa dois loop for indo de 0 ate 4 e dentro desse loop pegue os valores da matriz usando o a função scanf assim for(j=0;j<5;j++){ for(i=0;i<5;i++){ printf("digite o %d numero da %d linha ",i+1,j+1); scanf ( " %d " , & matriz1 [j] [i] ) ; } } faça o mesmo para pegar os valores da segunda matriz a matriz2, e para fazer a multiplicação use outros dois loop for iguais a esses e dentro dos loop faça a multiplicação assim matriz3 [j] [ i ] = matriz1 [j] [ i ] * matriz2 [j] [ i ] ; printf ("multiplicacao de %d com %d = %d",matriz1[j][i],matriz2[j][i],matriz3[j][i]);
  18. @Paulo Eduardo Ramos você pode usar os dias do mês, então ele não iria de acordo com os dias da semana ele atualizaria o dia conforme o dia que o programa fosse usado. veja esse código que pega o dia do mês do computador . #include <stdio.h> #include <time.h> int main(){ char data[9]; char hora[9]; _strdate(data); /*isso pega a data do sistema*/ printf( "A data atual em inglês é %s \n",data); _strtime( hora ); /*isso pega a hora do sistema*/ printf( "A hora atual é %s \n",hora); int b=data[3]-48+(data[4]-48); printf("O Dia Do Mes é %d",b); return 0; }
  19. @Gabriel Pic não sei sobre pic , mas sei alguma coisa sobre a linguagem c, e nesse trecho aqui : o else if não está certo, está faltando comparar com alguma coisa, e esse while ficaria em loop infinito por que não tem nada que mude o valor do while, precisa colocar um jeito de mudar o valor de while e isso seria com uma variável, mudando o valor da variável sairia do loop. while(1) { if (S1 == 1 && estado1 == 1){ servo_centro(); } else if ( servo_horario(); } } o else if seria assim: while(1) { if (S1 == 1 && estado1 == 1){ servo_centro(); } else{if (s1==0){servo_horario();}/*aqui coloquei s1 mas precisa ver se é essa variável mesmo*/ } } e dentro desse while teria que ter um jeito de mudar esse s1 para pode ir para a função servo_centro ou servo_horário. já nessa função aqui parece que ficaria em loop infinito //função move serve horario. void servo_horario() { do{ motor = 0; delay_us(18000); motor = 1; delay_us(2000); }while (S1 == 0 && estado1 == 1); } porque s1 e estado1 permanece com o mesmo valor, para resolver isso precisa colocar uma leitura de teclado para mudar o valor de s1 e estado1 para que o programa siga. e nessa função aqui /função move servo antihorario. void servo_antihorario() { motor = 0; delay_us(19000); motor = 1; delay_us(1000); } se motor = 0 significa que o motor deve ficar desligado e motor =1 significa que o motor seja ligado então está certo e o motor ficará desligado por um tempo e depois será ligado e vai aguardar um curto tempo e sairá da função mas o motor permanecerá ligado.
  20. @rjort_nine quando você diz que quer calcular as linhas, será que significa que você quer somar os números de cada linha assim : B= --> 1 + 0 + 0 + 3 => 4 --> 0 + 1 + 0 + 1 => 2 --> 0 + 0 + 1 + 2 => 3 isso você faz assim : matriz [0] [0] + matriz [0] [1] + matriz [0] [2] + matriz [0] [3] matriz [1] [0] + matriz [1] [1] + matriz [1] [2] + matriz [1] [3] matriz [2] [0] + matriz [2] [1] + matriz [2] [2] + matriz [2] [3] matriz [3] [0] + matriz [3] [1] + matriz [3] [2] + matriz [3] [3] seria isso ?
  21. devair1010

    jogo da velha

    @MassakiMsk valeu, obrigado, era isso mesmo não sei como fui errar nesse detalhe, muito obrigado mesmo, me ajudou muito. agora está funcionando, mas não estou conseguindo um jeito de fazer o computador jogar, como seria uma função para que o computador jogue.
  22. devair1010

    jogo da velha

    olá galera, meu professor de lógica de programação pediu para fazer um programa de jogo da velha, para jogar contra o computador . então fiz esse código mas está dando um monte de erros e não estou conseguindo descobrir onde e qual é o erro . por favor será que alguém pode ajudar ? Agradeço desde já. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include <windows.h> int vet [4][4]; int vet2[4][4]; int i,j,a,b,g,h,r,k,w,f; int qg,vjc,qjp,cg,vg; int ja[11][7]={{126, 32, 32, 32, 33, 18, 12}, /* letra J*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 60, 66, 1, 1,113, 98, 92}, /* letra G*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 31, 33, 65, 65, 65, 33, 31}, /* letra D*/ { 28, 34, 65, 65,127, 65, 65}, /* letra A*/ { 65, 65, 65, 34, 34, 20, 8}, /* letra V*/ { 63, 1, 1, 31, 1, 1, 63}, /* letra E*/ { 1, 1, 1, 1, 1, 1,127}, /* letra L*/ { 65, 65, 65,127, 65, 65, 65}, /* letra H*/ { 28, 34, 65, 65,127, 65, 65}};/* letra A*/ char c[5]; void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } void desenha(int vt){ gotoxy(71,4) ;printf(" ///" ); gotoxy(71,5) ;printf("(. .)" ); gotoxy(72,6) ;printf(" -" ); gotoxy(72,18);printf("%c",184); gotoxy(0,0) ;printf("\n\n" ); printf(" 1 2 3\n" ); printf(" %c %c %c\n\n",31,31,31); for(i=1;i<4;i++){ if(i==1){printf(" A -%c ",16);} else{ if(i==2){printf(" B -%c ",16);} else{ printf(" C -%c ",16); } } for(j=1;j<4;j++){ if(vt==1){ if(vet[i][j]==1){if(vjc==1){printf(" O ");}else{printf(" X ");}} else{ if(vet[i][j]==2){if(vjc==2){printf(" O ");}else{printf(" X ");}} else{printf(" ");} }} else{ if(vet2[i][j]==1){if(vjc==1){printf(" O ");}else{printf(" X ");}} else{ if(vet2[i][j]==2){if(vjc==2){printf(" O ");}else{printf(" X ");}} else{printf(" ");} }} if(j==3){printf("\n");} if(j<3){printf("|");} } if(i<3){printf(" -----------\n");} } printf(" Vit%crias Do Computador ------> %d\n",224,cg); printf(" Vit%crias Do Jogador Humano --> %d\n",224,vg); } int inicio(int tp){ c[0]='p'; if(tp==1){printf("\nVoc%c Quer Jogar Mais Uma Partida ? S/N ",136);gets(c);goto l6;} do{ desenha(2); if(tp==2){printf("\nO Computador Ganhou Essa Partida");} if(tp==3){printf("\nVoc%c Ganhou Essa Partida ",136);} printf("\nVoc%c Quer Jogar Mais Uma Partida ? S / N ",136); for(f=0;f<100000;f++){for(k=0;k<3000;k++);} desenha(1); if(tp==2){printf("\nO Computador Ganhou Essa Partida");} if(tp==3){printf("\nVoc%c Ganhou Essa Partida ",136);} printf("\nVoc%c Quer Jogar Mais Uma Partida ? S / N ",136); for(f=0;f<100000;f++){for(k=0;k<1000;k++);} if(kbhit()){gets(c);} }while(c[0]!='s'&&c[0]!='n'); l6: k=0; if(c[0]=='n'){k=27;} for(i=0;i<4;i++){ for(j=0;j<4;j++){ vet[i][j]=0; } } system("cls"); desenha(1); return k; } int verifica_se_ganhou(int g,int h){ for(i=1;i<4;i++){for(j=1;j<4;j++){vet2[i][j]=vet[i][j];}} if(vet[1][1]==h&&vet[1][2]==h&&vet[1][3]==h){g=1;vet2[1][1]=3;vet2[1][2]=3;vet2[1][3]=3;} if(vet[2][1]==h&&vet[2][2]==h&&vet[2][3]==h){g=1;vet2[2][1]=3;vet2[2][2]=3;vet2[2][3]=3;} if(vet[3][1]==h&&vet[3][2]==h&&vet[3][3]==h){g=1;vet2[3][1]=3;vet2[3][2]=3;vet2[3][3]=3;} if(vet[1][1]==h&&vet[2][1]==h&&vet[3][1]==h){g=1;vet2[1][1]=3;vet2[2][1]=3;vet2[3][1]=3;} if(vet[1][2]==h&&vet[2][2]==h&&vet[3][2]==h){g=1;vet2[1][2]=3;vet2[2][2]=3;vet2[3][2]=3;} if(vet[1][3]==h&&vet[2][3]==h&&vet[3][3]==h){g=1;vet2[1][3]=3;vet2[2][2]=3;vet2[3][3]=3;} if(vet[1][1]==h&&vet[2][2]==h&&vet[3][3]==h){g=1;vet2[1][1]=3;vet2[2][2]=3;vet2[3][3]=3;} if(vet[1][3]==h&&vet[2][2]==h&&vet[3][1]==h){g=1;vet2[1][3]=3;vet2[2][2]=3;vet2[3][1]=3;} return g; } void marca(){/*para jogar com X ou O */ l7: gotoxy(23,22); printf("Voc%c Quer Jogar Com X ou O ",136); scanf("%s",&c[0]); if((c[0]!='x' && c[0]!='X') && (c[0]!='o' && c[0]!='O')){goto l7;} if(c[0] =='x'|| c[0] =='X'){vjc=1;}/*voce joga com */ if(c[0] =='o'|| c[0] =='O'){vjc=2;} } int tela(){ int y1=5,x1=23,y2=y1; for(i=0;i<11;i++){ if(i==4){y1=13;x1=10;y2=y1;} if(i==6){y1=13;x1=30;y2=y1;} for(j=0;j<7;j++){ gotoxy(x1,y1); a=ja[i][j]; for(b=0;b<7;b++){ if(a % 2 != 0){printf("%c",219);}else{printf(" ");} a=a/2; } y1++; } x1=x1+8; y1=y2; } printf(" %c",169); gotoxy(5,1);printf("%c",201); for(i=2;i<23;i++){ gotoxy(5,i) ;printf("%c",186); gotoxy(72,i);printf("%c",186); } for(i=6;i<72;i++){ gotoxy(i,1) ;printf("%c",205); gotoxy(i,23);printf("%c",205); gotoxy(i,21);printf("%c",205); } gotoxy(72,1) ;printf("%c",187); gotoxy(72,23);printf("%c",188); gotoxy(5,23) ;printf("%c",200); gotoxy(5,21) ;printf("%c",204); gotoxy(72,21);printf("%c",185); gotoxy(66,3) ;printf("%c%c%c",92,92,92); gotoxy(66,4) ;printf("(. .)" ); gotoxy(66,5) ;printf(" -" ); return 0; } int main(){ tela(); qjp=1; marca(); do{ l1: system("cls"); desenha(1); printf("\nDigite A B C p/ Linha"); printf("\nDigite 1 2 3 p/ Coluna < ou S para Parar >"); gotoxy(10,16);printf("%c%c%c%c%c%c",201,205,205,205,205,187); gotoxy(10,20);printf("%c%c%c%c%c%c",200,205,205,205,205,188); gotoxy(10,17);printf("%c %c" ,186,186 ); gotoxy(10,18);printf("%c %c" ,186,186 ); gotoxy(10,19);printf("%c %c" ,186,186);gotoxy(12,18 ); fflush(stdin); gets(c); if(c[0]=='a' || c[0]=='A'){a=1;} if(c[0]=='b' || c[0]=='B'){a=2;} if(c[0]=='c' || c[0]=='C'){a=3;} if(c[1]=='1'){b=1;} if(c[1]=='2'){b=2;} if(c[1]=='3'){b=3;} if(c[0]=='s'||c[0]=='S'){printf("\n\n");break;} if(strlen (c) > 2){ printf("\n\n\nS%c Pode Ser Duas Coordenadas >>> Tecle <<<",224);getch();goto l1;} if(vet[a][b] != 0){ printf("\n\n\nEsta Posi%c%co Est%c Ocupada >>> Tecle <<<",135,198,160);getch();goto l1;} if(c[0]!='a'&&c[0]!='b'&&c[0]!='c'){printf("\n\n\nS%c Pode Ser A B C >>> Tecle <<<",224);getch();goto l1;} if(c[1]!='1'&&c[1]!='2'&&c[1]!='3'){printf("\n\n\nS%c Pode Ser 1 2 3 >>> Tecle <<<",224);getch();goto l1;} vet[a][b] = 2;/*voce joga*/ system("cls"); desenha(1); g = 0; h = 2; qg = 0;/* 2 é humano*/ r=verifica_se_ganhou(g,h);/*se r=1 então humano ganhou*/ system("cls"); desenha(1); if(r == 1){printf("\nVoc%c Ganhou Essa Partida ",136);vg++;k=inicio(3);qg=1;} if(k == 27){goto l5;}else{if(r==1){marca();}} l5: if(k!=27){} }while(k!=27); return 0; }
  23. @Anderson da Silva Ramos parece que os fios são nessas posições que marquei aí na foto . testa antes de soldar definitivo . precisa ver qual transformador usar.
  24. @Anderson da Silva Ramos só analisando a placa do lado das trilhas, geralmente onde estava ligado fica um pedaço do fio e o transformador geralmente faz conexão com os diodos. posta o lado das trilhas para que possamos ver.
  25. @Luis Ligabo posta aí o seu código que você já fez, assim poderemos ver em que podemos ajudar. para fazer você precisa declarar um vetor assim : int vetor [ 10 ]; e depois pegar os dez números; e para isso use um laço for indo de zero até nove e dentro desse laço use o comando scanf assim: scanf ( " %d " , & numero ) ; e coloque esse numero no vetor que você criou, assim no final do loop você terá os dez números armazenados no vetor, depois faça outro laço for indo de zero até nove e dentro desse loop multiplique cada número por ele mesmo, com o comando printf assim. printf ( " %d " , numero * numero ) ;

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!