Ir ao conteúdo
  • Cadastre-se

Mateus Nunes

Membro Pleno
  • Posts

    28
  • Cadastrado em

  • Última visita

Tudo que Mateus Nunes postou

  1. Boa noite, pessoal! Estou passando por um probleminha (imagino eu, simples) com o MatLab. Tenho duas variáveis Ca (concentração) e tr (tempo de residência). Contudo, a primeira depende da segunda e eu gostaria de ver o comportamento gráfico disto, ou seja, Ca versus tr. Para tanto, escrevi o seguinte código - onde Cao e k são constantes ao longo do processo: %Parâmetros k=1; Cao=1; %Condição inicial Ca(1)=0; tr(1)=0; %Modelo for i=1:0.1:3.5 Ca(i+1)=k*Ca(i)^2+i*Ca(i)-i*Cao; %Aqui, onde há "i" seria o tr, no modelo matemático proposto tr(i+1)=i; %comando para ajustar a escala de tempo (para que a mesma comece em 0) end Ao tentar rodar, recebo a seguinte mesnsagem: "Array indices must be positive integers or logical values." Este é o meu primeiro contato com o MatLab e eu confesso que não consegui ainda pegar nada bem a lógica da programação! Caso alguém consiga me ajudar, muito obrigadoo!!!
  2. Mateus Nunes

    Matrizes

    Muito Obrigado!!!!! Peguei a ideia! Valeu
  3. Mateus Nunes

    Matrizes

    Cara, na verdade, eu só usei o define pra não entrar com tantos valores toda hora. Tu tá querendo dizer que para cada ordem, a condição muda? Desculpa se eu não entendi.... adicionado 39 minutos depois Sim, matriz quadrada!
  4. Mateus Nunes

    Matrizes

    Pessoal, alguém sabe como ficaria a condição para verificar se a diagonal principal da matriz é igual a secundária?? O que eu fiz não está correto. O problema está no final, acredito.... Obrigado! #include <stdio.h> #include <locale.h> #define nlin 2 #define ncol 2 main() { int mat[nlin][ncol],col,lin,diag_p[nlin],diag_s[nlin],k=0,aux=0; setlocale(LC_ALL,"portuguese"); printf("Informe %d valores: ",nlin*ncol); for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { scanf("%d",&mat[lin][col]); } } system("pause"); system("cls"); printf("Valores armazenados na matriz:\n\n"); for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { printf("%d\t",mat[lin][col]); } printf("\n"); } //DIAGONAL PRINCIPAL for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { if(lin==col){diag_p[k]=mat[lin][col];k++;} } } printf("\nDiagonal Principal:\n\n"); for(k=0;k<=lin-1;k++) { printf("%d\t",diag_p[k]); } //DIAGONAL SECUNDÁRIA k=0; for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { if(lin==nlin-1-col){diag_s[k]=mat[lin][col];k++;} } } printf("\n\nDiagonal Secundária:\n\n"); for(k=0;k<=lin-1;k++) { printf("%d\t",diag_s[k]); } //TESTE for(k=0;k<=lin-1;k++) { if(diag_p[k]==diag_s[k]){aux=1;} } if(aux=1){printf("\n\nAs diagonais são iguais!");} else {printf("\n\nAs diagonais são diferentes!");} printf("\n\n\nFim da Programação!!!!"); printf("\n\n\n\n"); }
  5. Boa noite! Faço uma disciplina de algoritmos na faculdade e estou com um problema em entender uma questão (na realidade sua resolução). O enunciado é o seguinte: elaborar um programa que leia uma matriz 5x4 e crie um vetor com todos os números pares da matriz. Em seguida, o programa deverá escrever as posições ocupadas do vetor. Abaixo segue o "gabarito". Alguém pode me explicar COMO os valores pares estão sendo passados para o "vet[z]"??? Está relacionado com a contagem feita acima, mas não estou conseguindo entender como os valores pares foram passados, uma vez que "cont" e "z" não estiveram no mesmo laço de repetição nenhuma vez...... Obrigado!!!!!!!!!!! #include <stdio.h> #include <locale.h> #define nlin 2 #define ncol 2 main() { int mat[nlin][ncol],col,lin,pos,vet[20],z,cont=0; double resto; setlocale(LC_ALL,"portuguese"); //ZERANDO O VETOR for(z=0;z<=19;z++) { vet[z]=0; } printf("Informe %d valores: ",nlin*ncol); for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { scanf("%d",&mat[lin][col]); } } system("pause"); system("cls"); printf("Valores armazenados na matriz:\n\n"); for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { printf("%d\t",mat[lin][col]); } printf("\n"); } //////VERFICANDO SE HÁ VALORES PARES for(lin=0;lin<=nlin-1;lin++) { for(col=0;col<=ncol-1;col++) { resto=mat[lin][col]%2; if(resto==0){vet[cont]=mat[lin][col];cont++;} } } printf("\n\n\VETOR:\n"); for(z=0;z<=19;z++) { printf("%d\n",vet[z]); } printf("\n"); system("pause"); system("cls"); if(cont!=0) { printf("\nO vetor teve as seguintes posições ocupadas por valores pares:\n"); for(z=0;z<=19;z++) { if(vet[z]!=0){printf("Posição %d\n",z);} } } else{printf("\nNão há valores pares na matriz.");} printf("\n\n\nFim da Programação!!!!"); printf("\n\n\n\n"); }
  6. Sim, mas qual o objetivo do retorna++ naquela linha, o que ele desempenha?? Vou dar um exemplo de função, porém a que eu necessito deve fazer processamento em um conjunto de caracteres, e a do exemplo faz processamento com números. Primeiramente, para deixar claro, gostaria de criar uma função que realiza-se algum processamento, de forma que esta fica armazenada em uma biblioteca.h com um certo nome e certos parâmetros. Assim, quando eu quiser utilizá-la, apenas a chamo pelo "nome" na função main() Isso é uma das exigências do projeto...........segue abaixo o exemplo, note que, em forma de comentário, eu aponto as funções (acredito que no caso do projeto - primeira postagem - a função deva ser do tipo char, pois a professora pede que seja realizado um processamento de caracteres na função) Obrigado pela atenção!!!!!! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <math.h> #include <conio.h> #include "Biblioteca_Projeto.h" main() { float a,b; double c; int qtd; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); ///Função void preenche_mat_y(qtd,mat,a,b); ///Função void show_mat_pontos(qtd,mat); ///Função void } //////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// //MINHA BIBLIOTECA (SALVA COM O NOME DE Biblioteca_Projeto.h) void preenche_mat_x(int qtd, float mat[qtd][2]) { int index; for(index=0;index<=qtd-1;index++) { printf("\nEntre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } return; } /////////////////////////////////////////////////////////////////////////// void preenche_mat_y(int qtd, float mat[qtd][2], float a, float b ) { int index; for( index=0;index<=qtd;index++) { mat[index][1]=a*mat[index][0]+b; } return; } ////////////////////////////////////////////////////////////////////////////////// void show_mat_pontos(int qtd, float mat[qtd][2] ) { int index; system("cls"); printf("Pontos (x ; y):"); for(index=0;index<=qtd-1;index++ ) { printf("\n\n%dº Ponto: (%.2f ; %.2f)\n",1+index,mat[index][0],mat[index][1]); } return; } ///////////////////////////////////////////////////////////////////////////////////
  7. Index começa em zero; caso qtd seja igual a 5, eu necessito que index vá até qtd-1, isto é, 5-1=4 (posição 4). Assim temos 5 posições: 0,1,2,3 e 4. O programa é bem mais extenso, postei apenas um pedaço, onde eu tinha dúvida! Trata-se de, dada uma quantidade de pontos x, calcular os pontos y correspondentes para diversas funções.
  8. Boa tarde galera. Me deparei com um jogo da forca em C - versão simplificada - e queria tirar algumas dúvidas com quem estiver disposto. Primeiramente, gostaria de saber como a função strlen funciona. Além disso, acredito que há 5 contadores no algoritmo (life, retorna, points, cont e cont2) e estes em algumas partes aparecem da seguinte forma: retorna++; points++......para quê isso é feito?? Por fim, pergunto se há alguma forma de elaborar uma função que realize esse processamento, de forma que eu possa adicioná-la numa espécie de biblioteca.h e, posteriormente, chamá-la pelo nome na função main() - se a resposta for sim, tem como me mostrar como fica? Obrigado pela força aí!!! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <math.h> /////// #include "Biblioteca_Projeto.h" [?] EU QUERIA ADICIONAR AQUI E SÓ CHAMAR NA FUNÇÃO MAIN, PELO NOME main() { char word[21]; //Player 1 char gap[21]="-"; //Lacunas char letra[21]; char erros[21]; char tam; int life=5; int retorna; int points=0; int cont=0; int cont2=0; setlocale(LC_ALL,"portuguese"); printf("Jogador 1, digite a palavra para o Jogador adivinhar: "); gets(word); system("cls"); for(cont=0;cont<strlen(word);cont++) // [?] strlen { gap[cont]="-"; tam=strlen(word); }//Fim do 1ºfor while(life>0) { retorna=0; printf("\n\t%s\n",gap); printf("\tDigite uma letra: "); gets(letra); system("cls"); printf("\n\n\tLetra Digitada: %s\n",letra); for(cont=0;cont<strlen(word);cont++) { if(letra[0]==word[cont]) { gap[cont]=word[cont]; retorna++; ////// [?] o que é o ++, que função está desempenhando nesse caso? points++; }//Laço do 1º if }//Laço do for if(retorna==0) { life--; if(life==0) { printf("\n\tGAME OVER!\n"); printf("\n\tA palavra cera era: %s\n",word); break; } else { printf("\n\tVocê errou uma letra. Restam %d vidas\n\n\n",life); system("pause"); system("cls"); erros[cont2]=letra[0]; cont2++; } } else { if(points==tam) { printf("\n\tVocê acertou a palavra. Parabéns!\n"); break; } else { printf("\n\n\tVocê acertou uma letra. Continue assim!\n\n\n"); system("pause"); system("cls"); } } } }
  9. Putz cara, muitíssimo obrigado pela ótima explicação. Uma vez que a professora exige também o uso de vetores, eu dou um jeito de implementar na tarefa 2! Vou te incomodar só uma última vez! Abaixo, segue o código quase pronto (no case 2 do primeiro switch eu devo elaborar uma função que realize algum tipo de processamento em um conjunto de caracteres - vou ver o que faço depois). O que eu gostaria de saber é se há alguma possibilidade de implementar alguma função do tipo int, float ou double e se as funções já utilizadas (void) contam como passagem de parâmetros (acredito que sim, né?). #include <stdio.h> #include <locale.h> #include <math.h> #include "Biblioteca_Projeto.h" main() { char option,optionf; float a,b; double c; int qtd; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tMENU PRINCIPAL"); printf("\n\n1- Valores de y=f(x) para as funções: "); printf("\n a- Função Afim;"); printf("\n b- Função Linear;"); printf("\n c- Função Constante;"); printf("\n d- Função Exponencial;"); printf("\n e- Função Polinomial de Segundo Grau."); printf("\n2- Indefinido"); printf("\n3- Sair"); printf("\n\nDigite a opção desejada: "); scanf("%d",&option); system("cls"); switch(option) { case 1: do{ printf("\t\t\t\tMenu - Funções"); printf("\n\nFunções: "); printf("\n 1- Função Afim;"); printf("\n 2- Função Linear;"); printf("\n 3- Função Constante;"); printf("\n 4- Função Exponencial;"); printf("\n 5- Função Polinomial de Segundo Grau;"); printf("\n 6- Voltar ao menu principal."); printf("\n\nDigite a opção desejada: "); scanf("%d",&optionf); system("cls"); while(getchar() != '\n')continue; //[?] limpa o stream da telca ENTER; switch(optionf) { case 1: {printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); preenche_mat_y(qtd,mat,a,b); show_mat_pontos(qtd,mat);} break; case 2: {int index; printf("\t\t\t\tFUNÇÃO LINEAR"); printf("\n\nPara a função do tipo y=ax, determine o parâmetro:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); for(index=0;index<=qtd-1;index++) { mat[index][1]=a*mat[index][0]; } show_mat_pontos(qtd,mat);} break; case 3: {int index; printf("\t\t\t\tFUNÇÃO CONSTANTE"); printf("\n\nPara a função do tipo y=b, determine o parâmetro:"); printf("\n\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); for(index=0;index<=qtd-1;index++) { mat[index][1]=b; } show_mat_pontos(qtd,mat);} break; case 4: {int index; printf("\t\t\t\tFUNÇÃO EXPONENCIAL"); printf("\n\nPara a função do tipo y=c^x, determine o parâmetro:"); printf("\n\nDigite o valor de c: "); scanf("%lf",&c); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); for(index=0;index<=qtd-1;index++) { mat[index][1]=pow(c,mat[index][0]); } show_mat_pontos(qtd,mat);} break; case 5: {int index; double a_p; float c_p; printf("\t\t\t\tFUNÇÃO POLINOMIAL"); printf("\n\nPara a função do tipo y=ax^2+bx+c, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%lf",&a_p); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nDigite o valor de c: "); scanf("%f",&c_p); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat); for(index=0;index<=qtd-1;index++) { mat[index][1]=pow(a_p*mat[index][0],2)+b*mat[index][0]+c_p; } system("cls"); printf("Pontos (x ; y):"); for(index=0;index<=qtd-1;index++) { printf("\n\n%dº Ponto: (%.2f;%.2lf)\n",1+index,mat[index][0],mat[index][1]); }} break; case 6: return main(); default: printf("Opção Inválida! Tente novamente."); } printf("\n\n"); system("pause"); system("cls"); }while(option!=6); case 2: //Sei Lá!!!!!!!! case 3: printf("\n\t\t\t\tFIM DO PROGRAMA!!"); printf("\n\n\n"); } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////// Biblioteca_Projeto void preenche_mat_x(int qtd, float mat[qtd][2]) { int index; for(index=0;index<=qtd-1;index++) { printf("\nEntre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } return; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// void preenche_mat_y(int qtd, float mat[qtd][2], float a, float b ) { int index; for( index=0;index<=qtd;index++) { mat[index][1]=a*mat[index][0]+b; } return; } ////////////////////////////////////////////////////////////////////////////////// void show_mat_pontos(int qtd, float mat[qtd][2] ) { int index; system("cls"); printf("Pontos (x ; y):"); for(index=0;index<=qtd-1;index++ ) { printf("\n\n%dº Ponto: (%.2f ; %.2f)\n",1+index,mat[index][0],mat[index][1]); } return; } ///////////////////////////////////////////////////////////////////////////////////
  10. Hum....mas e vetores, propriamente ditos? Por exemplo, eu monto uma matriz com 2 linhas e 2 coluna: mat[2][2]; Quando eu digito mat[2][0] e mat[2][1], esse 0 e esse 1 se referem as duas colunas? porque no programa, eu declaro float mat[qtd][2]; Depois, pego os valores de x e preencho um VETOR mat[index], correto?; O que seria o mat[index][0] e mat[index][1]??? Deu pra entender???? Desculpa pela confusão, mas essa lógica não entra na minha cabeça...
  11. SIM!!! Acabei conseguindo agora a pouco! Cara, está correto dizer que meu programa contém vetores e matrizes???? Fico na dúvida porque a função preenche mat é patricamente um preenche vet, entende?
  12. Pessoal, um dos requisitos de um projeto que eu estou fazendo é a utilização de vetores e também de matrizes (vetores bidimensionais). Alguém pode, primeiramente, me explicar o que está ocorrendo nesses laços de repetição?? No código abaixo, há tanto vetores quanto matrizes ou apenas vetores??? Muito Obrigado!!!! #include <stdio.h> #include <locale.h> #include <math.h> main() { char option,optionf; float a,b; double c; int qtd,index; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; for(index=0;index<=qtd-1;index++) { printf("\nEntre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } for(index=0;index<=qtd-1;index++) { mat[index][1]=a*mat[index][0]+b; } for(index=0;index<=qtd-1;index++) { printf("%dº Ponto(%.2f;%.2f)\n",1+index,mat[index][0],mat[index][1]); } }
  13. O que seria unsigned?? Há alguma possibilidade de implementar função float? Aqui não estou conseguindo fazer dar certo, segue o que fiz abaixo #include <stdio.h> #include <locale.h> #include <math.h> #include "Biblioteca_Projeto.h" main() { char option,optionf; float a,b; double c; int qtd; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; preenche_mat_x(qtd,mat[qtd][2]); for(index=0;index<=qtd-1;index++) { mat[index][1]=a*mat[index][0]+b; } for(index=0;index<=qtd-1;index++) { printf("%dº Ponto(%.2f;%.2f)\n",1+index,mat[index][0],mat[index][1]); } } /////////////////////////////////////////////////////////////////////////// CÓDIGO DA BIBLIOTECA void preenche_mat_x(unsigned qtd, float mat[qtd][2]) { int index; for(index=0;index<=qtd-1;index++) { printf("Entre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } }
  14. Boa noite, abaixo segue um pedaço de um código em que estou trabalhando. Um dos requisitos desse trabalho, envolve o uso de funções do tipo void e do tipo float ou double. Notem, por favor, que o pedaço extraído se encontra dentro de um case do switch e que as partes contendo pontos de interrogação se referem-se aquelas em que o uso de funções seria apropriado (eu acredito). Caso alguém aí possa me mostrar como ficaria, pra esse caso em especial, a função, eu agradeço!! OBS.: meu objetivo é adicionar a função numa biblioteca e chamá-la na função main(). case 1: {int index; printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; for(index=0;index<=qtd-1;index++) ///// ???????? função do tipo void (eu acredito), pois apenas preenche a matrix { printf("Entre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } for(index=0;index<=qtd-1;index++) //////// ???????????? função do tipo void { mat[index][1]=a*mat[index][0]+b; } for(index=0;index<=qtd-1;index++) /////// ??????????????????? função do tipo float ou double, pois me retorna um valor { printf("%dº Ponto(%.2f;%.2f)\n",1+index,mat[index][0],mat[index][1]); }} break;
  15. Beleza!!!!! Muito obrigado!! Vou tentar montar as funções aqui e qualquer coisa, retorno! adicionado 50 minutos depois Cara, acredito que haja um erro na minha função pow (últimas linhas). Sabe me dizer o que é? Vou enviar só um pedaço do código! Outra coisa, realmente não estou conseguindo fazer as funções. Um dos quesitos do projeto é usar uma do tipo void e outra do tipo float, double ou int, chamando-as no programa principal, através da biblioteca, apenas pelo nome. Tu teria como exemplificar como deve ficar para esse caso?? #include <stdio.h> #include <locale.h> #include <math.h> main() { char option,optionf; float a,b; double c; int qtd,index; double a_p; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tFUNÇÃO POLINOMIAL"); printf("\n\nPara a função do tipo y=ax^2+bx+c, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%lf",&a_p); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nDigite o valor de c: "); scanf("%f",&c); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; for(index=0;index<=qtd-1;index++) { printf("Entre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } for(index=0;index<=qtd-1;index++) { mat[index][1]=pow(a*mat[index][0],2)+b*mat[index][0]+c; } for(index=0;index<=qtd-1;index++) { printf("%dº Ponto(%.2f;%.2lf)\n",1+index,mat[index][0],mat[index][1]); } } adicionado 56 minutos depois Vou enviar os dois exemplos passados em sala de aula! (No primeiro, por exemplo, se eu crio uma matriz mat[2][2], eu chama a função assim: escreve_matriz(mat,2,2). Acredito que para o caso do projeto seja algo similar...... void escreve_matriz(double mat[10][10],int nl, int nc) { int l,c; printf("\n\nValores armazenados na Matriz:\n\n"); for(l=0;l<=nl-1;l++) { for(c=0;c<=nc-1;c++) {printf("%lf\t",mat[l][c]);} printf("\n\n"); } } //////////////////////////////////////////////////////////////////////////////////////// double calcula_media_matriz(double mat[10][10], int nl, int nc) { int l,c; double soma=0; printf("\n\nCalculando a média...\n"); for(l=0;l<=nl-1;l++) { for(c=0;c<=nc-1;c++) {soma=soma+mat[l][c];} } return (soma/(nl*nc)); }
  16. Cara, muito obrigado pela ajuda!!!! Confesso que não entendi perfeitamente o que você fez, porém deu pra me basear no código que segue abaixo. Mas ainda tenho dois questionamentos: 1°- porque não consigo adicionar essas novas linhas de código, ao código principal? (aquele postado primeiramente) Recebo a mensagem "switch jumps into escope of identifier with variable modifier type" 2º - Como eu faria essas novas linhas se tornarem uma função, para que fosse mais fácil chamá-la no código principal? Acho que ficaria ainda mais claro construir 3 funções, né? Uma void para preencher, uma float para calcular e outra void para escrever na tela a matriz.....isso é possível? Essa parte de funções, eu tive apenas uma aula e, portanto, ainda tenho bastante dificuldade! Novamente, muito obrigado pela atenção!!! #include <stdio.h> #include <locale.h> #include <math.h> main() { char option,optionf; int qtd,i,index=0; float a,b,c; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); scanf("%d",&qtd); float mat[qtd][2]; for(index=0;index<=qtd-1;index++)/// CHAMAR UMA FUNÇÃO QUE REALIZE TUDO QUE ESTÁ ABAIXO DISSO! { printf("Entre com valor real para x%d: ",index+1); scanf("%f",mat[index]); } for(index=0;index<=qtd-1;index++) { mat[index][1]=a*mat[index][0]+b; } for(index=0;index<=qtd-1;index++) { printf("%dº Ponto(%.2f,%.2f)\n",1+index,mat[index][0],mat[index][1]); } }
  17. Na verdade, me disseram agora o seguinte: teremos que fazer uma matriz de variáveis linhas e duas colunas. Porém será necessário preencher todas as linhas primeiro e só a primeira coluna; e a segunda coluna terá de ser feita conforme a primeira utilizando a equação da função escolhida. Portanto, primeiro pergunta-se quantos valores de x, para fazer então a matriz[valores de x][2] e, feito isso, percorrer a matriz variando as linhas e mantendo a coluna fixa em 1 para armazenar os valores. Depois, teremos que percorrer de novo para armazenar os valores de y conforme a equação na coluna 2. Por fim, percorrer novamente para mostrar os dados com printf. MAS, eu não estou conseguindo percorrer a matriz, mantendo as colunas fixas para armazenar os valores e nem sei como armazenar os valores de y, posteriormente............ Deu pra entender? Sabe como me ajudar?? Obrigado!!!!!!!!!
  18. Boa tarde! Estou fazendo um projeto de algoritmos e não sei como proceder. Pede-se o seguinte: ler um conjunto de valores de x e mostrar os valores de y= f(x) em forma de matriz com duas colunas. Acredito que primeiramente, um intervalo de valores de x deve ser estabelecido, pelo usuário, certo? Pois acho que com valores aleatórios seria impraticável, né? Alguém sabe como implementar essa parte em especial? Estou um pouco perdido. Obs.: Na parte escrito "indefinido", eu tenho que elaborar uma função criada pelo programador que realize algum tipo de processamento em um conjunto de caracteres, caso alguém tenha algum exemplo ou ideia, eu agradeço!!!!!! #include <stdio.h> #include <locale.h> #include <math.h> #include "Minha Biblioteca.h" main() { char option,optionf; float a,b,c; int x; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tMENU PRINCIPAL"); printf("\n\n1- Valores de y=f(x) para as funções: "); printf("\n a- Função Afim;"); printf("\n b- Função Linear;"); printf("\n c- Função Constante;"); printf("\n d- Função Exponencial;"); printf("\n e- Função Polinomial de Segundo Grau."); printf("\n2- Indefinido"); printf("\n3- Sair"); printf("\n\nDigite a opção desejada: "); scanf("%c",&option); system("cls"); switch(option) { case 1: printf("\t\t\t\tMenu - Funções"); printf("\n\nFunções: "); printf("\n 1- Função Afim;"); printf("\n 2- Função Linear;"); printf("\n 3- Função Constante;"); printf("\n 4- Função Exponencial;"); printf("\n 5- Função Polinomial de Segundo Grau."); printf("\n\nDigite a opção desejada: "); scanf("%c",&optionf); system("cls"); switch(optionf) { case 1: a=b=x=0; printf("\t\t\t\tFUNÇÃO AFIM"); printf("\n\nPara a função do tipo y=ax+b, determine os parâmetros:"); printf("\n\nDigite o valor de a: "); scanf("%f",&a); printf("\nDigite o valor de b: "); scanf("%f",&b); printf("\nInforme o número de pontos, da coordenada x: "); //???????? } } }
  19. #include <stdio.h> #include <locale.h> #include <math.h> main() { char name[20]; float valor,media,Ga=0,Gb=0,Gc=0,Gf=0,Gfa,Gfb,notama=0,notamb=0,notamf=0; int num_alunos,faltas,F,option,nn=0,subs; do{ setlocale(LC_ALL,"portuguese"); printf("\t\t\tXXXXXXXXXXXXXXXXXXXXXXX"); printf("\n\nPor favor, informe o número de alunos da turma: "); scanf("%d",&num_alunos); for(nn==0;nn<num_alunos;nn++) { system ("pause"); system ("cls"); printf("\t\t\Aprovação Com Base nas Faltas Semestrais\n\n"); do{ printf("\nInforme o número atual de faltas no semestre (períodos): "); scanf("%d",&faltas); if (faltas>=0 && faltas<8) {F=8-faltas; printf("\nVocê ainda pode faltar %d períodos.\n",F); printf("Mas tenha cuidado para não reprovar devido a isso!\n\n");} else {if (faltas==8) {printf("\nVocê não pode mais ter faltas.\n"); printf("Tenha cuidado para não reprovar devido a isso\n\n");} else {if (faltas>8 && faltas<18) {printf("Você reprovou por excesso de faltas.\n"); printf("Tenha mais cuidado no próximo semestre!");} else {printf("Número de faltas inválido.\n"); printf("Tente novamente!"); }//Fim do terceiro else }//Fim do segundo else }//Fim do primeiro else }while (faltas<0||faltas>18); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// system("pause"); system("cls"); printf("\t\t\t\Cálculo das Notas dos Graus\n\n"); printf("\nInforme a nota do Grau A (GA): "); scanf("%f",&Ga); notama=notama+Ga; printf("\nInforme a nota do Grau B (GB): "); scanf("%f",&Gb); notamb=notamb+Gb; Gf=(Ga+2*Gb)/3; if (Gf>=6) {printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);} else { printf("\nSeu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C\n",Gf); printf("\nInforme o grau a ser substituído: 1-GA ou 2-GB?"); scanf("%d",&subs); if (subs==1) { printf("\nInforme a nota do GC:"); scanf("%f",&Gc); Gfa=(Gc+2*Gb)/3; if (Gfa>=6) {printf("\nAprovado! Seu grau final, após recuperação, é %f!",Gfa);} else {printf("\nReprovado! Seu grau final, após recuperação, é %f.\n",Gfa);} Ga=Gc; } if (subs==2) {printf("\nInforme a nota do GC:"); scanf("%f",&Gc); Gfb=(Ga+2*Gc)/3; if (Gfa>=6) {printf("\nAprovado! Seu grau final, após recuperação, é %f!",Gfb);} else {printf("\nReprovado! Seu grau final, após recuperação, é %f.\n",Gfb);} Gb=Gc;} }//Fim do primeiro else Gf=(Ga+2*Gb)/3; notamf=notamf+Gf; system ("pause"); } // fim do for system ("cls"); printf("Média do Grau A (GA): %f",notama/num_alunos); printf("\n\nMédia do Grau B (GB): %f",notamb/num_alunos); printf("\n\nMédia do Grau Final (GF): %f\n\n",notamf/num_alunos); system ("pause"); system ("cls"); printf("\nDeseja executar outra vez (s/n)?"); fflush(stdin); //Limpa o buffer scanf("%c",&option); }while(option=='s');//Fim do laço de repetição printf("\n\n"); }//Fim do Programa Existe a possibilidade desse programa mostrar em qual aluno está? Por exemplo, vou rodar o programa para 5 alunos, para não ficar confuso tem como aparecer o número do aluno para o qual eu estou inserindo as notas e faltas? Muito Obrigado!
  20. #include <stdio.h> #include <locale.h> #include <math.h> main() { char name[20]; float valor,media,Ga=0,Gb=0,Gc=0,Gf=0,Gfa,Gfb,notama=0,notamb=0,notamf=0; int num_alunos,faltas,F,option,nn=0,subs; do{ setlocale(LC_ALL,"portuguese"); printf("\t\t\tXXXXXXXXXXXXXXXXXXXXXXX"); printf("\n\nPor favor, informe o número de alunos da turma: "); scanf("%d",&num_alunos); for(nn==0;nn<num_alunos;nn++) { system ("pause"); system ("cls"); printf("\t\t\Aprovação Com Base nas Faltas Semestrais\n\n"); do{ printf("\nInforme o número atual de faltas no semestre (períodos): "); scanf("%d",&faltas); if (faltas>=0 && faltas<8) {F=8-faltas; printf("\nVocê ainda pode faltar %d períodos.\n",F); printf("Mas tenha cuidado para não reprovar devido a isso!\n\n");} else {if (faltas==8) {printf("\nVocê não pode mais ter faltas.\n"); printf("Tenha cuidado para não reprovar devido a isso\n\n");} else {if (faltas>8 && faltas<18) {printf("Você reprovou por excesso de faltas.\n"); printf("Tenha mais cuidado no próximo semestre!");} else {printf("Número de faltas inválido.\n"); printf("Tente novamente!"); }//Fim do terceiro else }//Fim do segundo else }//Fim do primeiro else }while (faltas<0||faltas>18); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// system("pause"); system("cls"); printf("\t\t\t\Cálculo das Notas dos Graus\n\n"); printf("\nInforme a nota do Grau A (GA): "); scanf("%f",&Ga); notama=notama+Ga; printf("\nInforme a nota do Grau B (GB): "); scanf("%f",&Gb); notamb=notamb+Gb; Gf=(Ga+2*Gb)/3; if (Gf>=6) {printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);} else { printf("\nSeu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C\n",Gf); printf("\nInforme o grau a ser substituído: 1-GA ou 2-GB?"); scanf("%d",&subs); if (subs==1) { printf("\nInforme a nota do GC:"); scanf("%f",&Gc); Ga=Gc; } if (subs==2) {printf("\nInforme a nota do GC:"); scanf("%f",&Gc); Gb=Gc;} }//Fim do primeiro else Gf=(Ga+2*Gb)/3; notamf=notamf+Gf; system ("pause"); } // fim do for system ("cls"); printf("\n\nMédia do Grau A (GA): %f",notama/num_alunos); printf("\n\nMédia do Grau B (GB): %f",notamb/num_alunos); printf("\n\nMédia do Grau Final (GF): %f\n\n",notamf/num_alunos); system ("pause"); system ("cls"); printf("\nDeseja executar outra vez (s/n)?"); fflush(stdin); //Limpa o buffer scanf("%c",&option); system("pause"); system("cls"); //Clear stream }while(option=='s');//Fim do laço de repetição printf("\n\n"); }//Fim do Programa Pessoal, alguém sabe se há alguma maneira do programa informar se o aluno foi aprovado ou reprovado após ele inserir a nota do Gc??? Caso ele tenha substituído pelo Ga, o cálculo fica (Gc+2*Gb)/3 e se isso for maior ou igual a seis ele está aprovado; caso ele tenha subst. pelo Gb, o cálculo fica (Ga+2*Gc)/3 e se isso for maior ou igual a seis ele está aprovado. Dá pra pôr if-else ali no meio sem estragar a atribuição final "Ga=Gc" ou "Gb=Gc"?? Outra coisa, existe a possibilidade de mostrar em qual aluno está, por exemplo vou rodar o programa para 5 alunos, para não ficar confuso tem como aparecer o número do aluno para o qual eu estou inserindo as notas e faltas? Muito Obrigado!
  21. #include <stdio.h> #include <locale.h> #include <math.h> main() { char name[20]; float valor,media,Ga,Gb,Gc,Gf,Gfa,Gfb,notama=0,notamb=0,notamf=0; int num_alunos,faltas,F,option,nn=0,subs; setlocale(LC_ALL,"portuguese"); printf("Por favor, digite o número de alunos:"); scanf("%d",&num_alunos); system("cls"); for(nn==0;nn<num_alunos;nn++) { printf("\t\t\tNotas e Faltas - Critério UNISINOS\n\n"); printf("Digite o nome do aluno: "); scanf("%s",&name); fflush(stdin); system("cls"); printf("\t\t\Aprovação Com Base nas Faltas Semestrais\n\n"); do{ printf("\nInforme o número atual de faltas no semestre (períodos): "); scanf("%d",&faltas); if (faltas>=0 && faltas<8) {F=8-faltas; printf("\nVocê ainda pode faltar %d períodos.\n",F); printf("Mas tenha cuidado para não reprovar devido a isso!\n\n");} else {if (faltas==8) {printf("\nVocê não pode mais ter faltas.\n"); printf("Tenha cuidado para não reprovar devido a isso\n\n");} else {if (faltas>8 && faltas<18) {printf("Você reprovou por excesso de faltas.\n"); printf("Tenha mais cuidado no próximo semestre!");} else {printf("Número de faltas inválido.\n"); printf("Tente novamente!"); }//Fim do terceiro else }//Fim do segundo else }//Fim do primeiro else }while (faltas<0||faltas>18); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// system("pause"); system("cls"); printf("\t\t\t\Cálculo das Notas dos Graus\n\n"); printf("\nInforme a nota do Grau A (GA): "); scanf("%f",&Ga); notama=notama+Ga; printf("\nInforme a nota do Grau B (GB): "); scanf("%f",&Gb); notamb=notamb+Gb; Gf=(Ga+2*Gb)/3; if (Gf>=6) {printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf); notamf=notamf+Gf;} else { printf("\nSubstituir: 1-GA ou 2-GA?"); scanf("%d",&subs); if (subs==1) { printf("\nInforme o gc:\n"); scanf("%f",&Gc); Gf=(Gc+2*Gb)/3; notamf=notamf+Gf; } if (subs==2) { printf("\nInforme o gc:\n"); scanf("%f",&Gc); Gf=(Ga+2*Gc)/3; notamf=notamf+Gf;} }//Fim do else } // Fim do for printf("\n\na média do ga foi: %f",notama/num_alunos); printf("\n\na média do gb foi: %f",notamb/num_alunos); printf("\n\na média final foi: %f",notamf/num_alunos); } Pessoal, faço uma disciplina de algoritmos e terminei agora um projeto. Gostaria de saber se existe a possibilidade de ocorrer algum erro onde eu coloco notamf=notamf+Gf (por ele aparecer tanto no if quanto no else). Até agora não encontrei nada, mas um colega disse que provavelmente tenha sido sorte. Se alguém puder revisá-lo eu realmente agradeceria! Ressalto que no meu curso (eng. química) existe apenas essa disciplina relacionada a códigos e que antes eu nunca havia tido contato com nenhum ambiente de programação! Utiluzo o CodeBlocks.
  22. #include <stdio.h> #include <locale.h> #include <math.h> main() { char name[20]; float Ga,Gb,Gc,Gf,Gfa,Gfb; int faltas,F,option; setlocale(LC_ALL,"portuguese"); printf("\t\t\tNotas e Faltas - Critério UNISINOS\n\n"); printf("Digite seu nome: "); scanf("%s",&name); fflush(stdin); system("cls"); printf("\t\t\Aprovação Com Base nas Faltas Semestrais\n\n"); do{ printf("\nInforme o número atual de faltas no semestre (períodos): "); scanf("%d",&faltas); if (faltas>=0 && faltas<8) {F=8-faltas; printf("\nVocê ainda pode faltar %d períodos.\n",F); printf("Mas tenha cuidado para não reprovar devido a isso!\n\n");} else {if (faltas==8) {printf("\nVocê não pode mais ter faltas.\n"); printf("Tenha cuidado para não reprovar devido a isso\n\n");} else {if (faltas>8 && faltas<18) {printf("Você reprovou por excesso de faltas.\n"); printf("Tenha mais cuidado no próximo semestre!");} else {printf("Número de faltas inválido.\n"); printf("Tente novamente!"); }//Fim do terceiro else }//Fim do segundo else }//Fim do primeiro else }while (faltas<0||faltas>18); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// system("pause"); system("cls"); printf("\t\t\t\Cálculo das Notas dos Graus\n\n"); printf("\nInforme a nota do Grau A (GA): "); scanf("%f",&Ga); printf("\nInforme a nota do Grau B (GB): "); scanf("%f",&Gb); Gf=(Ga+2*Gb)/3; if (Gf>=6) {printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);} else { printf("\nSeu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C\n",Gf); printf("\nInforme o grau a ser substituido: \n\n"); printf("\n1-Ga"); printf("\n2-Gb\n"); fflush(stdin); printf("\nOpção: "); scanf("%c",&option); system ("cls");} switch (option) {case '1-Ga': printf("Digite a nota da prova do GC: "); scanf("%f",Gc); Gfa=(Gc+2*Gb)/3; if (Gfa>=6) {printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfa);} else {printf("Seu grau final, após recuperação, é %f.\n",Gfa); printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!");} break; case '2-Gb': {printf("Digite a nota da prova do GC: "); scanf("%f",Gc); Gfb=(Ga+2*Gc)/3;} if (Gfb>=6) {printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfb);} else {printf("Seu grau final, após recuperação, é %f.\n",Gfb); printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!");} } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Boa tarde! Alguém tem como me dizer porque meu código não passa do MENU (option - n1 ou n2)??? Além disso, neste projeto, o programa deverá permitir a execução para qualquer quantidade de alunos e esta quantidade deverá ser escolhida pelo usuário. Mais ainda, feito isso, o programa deverá mostrar a média do Grau A, a média do Grau B e a média do Grau Final da turma, como eu faria isso se algumas pessoas terão seu grau final na variável Gf enquanto outros terão nas Gfa e Gfb? Agradeço, desde já, a atenção!
  23. Alguém por aí que possa me ajudar??
  24. # include <stdio.h> #include <locale.h> #include <math.h> main() { char name[20]; float Ga,Gb,Gc,Gf,Gfa,Gfb; int faltas,F,option; setlocale(LC_ALL,"portuguese"); printf("\t\t\t\tNotas e Faltas - Critério UNISINOS\n\n"); printf("Digite seu nome: "); scanf("%s",&name); fflush(stdin); system("cls"); printf("\t\t\t\Aprovação Com Base nas Faltas Semestrais"); do{ printf("\nInforme o número atual de faltas no semestre (períodos): "); scanf("%d",&faltas); if (faltas>=0 && faltas<=8) {F=8-faltas; printf("Você ainda pode faltar %d períodos.\n",F); printf("Mas tenha cuidado para não reprovar devido a isso!");} else {if (faltas>8 && faltas<18) {printf("Você reprovou por excesso de faltas.\n"); printf("Tenha mais cuidado no próximo semestre!");} else {printf("Número de faltas inválido.\n"); printf("Tente novamente!"); }//Fim do segundo else }//Fim do primeiro else }while (faltas<0||faltas>18); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// system("pause"); system("cls"); printf("\t\t\t\Cálculo das Notas dos Graus\n\n"); printf("\nInforme a nota do Grau A (GA): "); scanf("%f",&Ga); printf("\nInforme a nota do Grau B (GB): "); scanf("%f",&Gb); Gf=(Ga+2*Gb)/3; if (Gf>=6) {printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);} else {if (Gf<6) {printf("Seu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C(GC)\n",Gf); printf("Informe o grau a ser substituido: \n\n"); printf("\n1-Ga"); printf("\n2-Gb\n"); fflush(stdin); printf("\nOpção: "); scanf("%c",&option);} fflush(stdin); system("cls"); if (option==1) {printf("Digite a nota da prova do GC: "); scanf("%f",Gc); Gfa=(Gc+2*Gb)/3; if (Gfa>=6) {printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfa);} else {printf("Seu grau final, após recuperação, é %f.\n",Gfa); printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!"); if (option==2) {printf("Digite a nota da prova do GC: "); scanf("%f",Gc); Gfb=(Ga+2*Gc)/3;} if (Gfb>=6) {printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfb);} else {printf("Seu grau final, após recuperação, é %f.\n",Gfb); printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!"); }//Fim do terceiro }//Fim do segundo else }//Fim do primeiro else } } Pessoal, estou com um projeto de faculdade da disciplina "algoritmos". Ressalto que faço eng. química e além de ter apenas essa disciplina relacionada a códigos, meu conhecimento é bem raso. Bom, vamos lá: Meu projeto exige que o programa deve prever a aprovação ou reprovação por faltas (isso foi conseguido); Ele deve prever aprovação ou não com base nas notas dos graus (A ou B ) e caso a média (6) não seja atingida, o mesmo deve perguntar qual grau será substituído pela recuperação (Gc). Eu estruturei (tentei) que caso o grau substituído, pelo Gc, seja o A, isso irá gerar uma nova nota final (Gfa) e caso o grau substituído seja o B, isso irá gerar uma nota final também (Gfb), ou seja, Gfa e Gfb não podem coexistir. Mas, o código dá erro após a tomada de decisão do menu (opção 1 ou 2), alguém sabe como consertar?? Outra coisa, feito isso eu devo abrir o programa para que várias pessoas possam usar, por exemplo uma turma, de maneira que terminado o programa com um aluno ele reinicie para outro aluno (dando opção de reiniciar ou não), porém isso não foi explicado, ou seja, não sei fazer. Mais ainda, estando com tudo estruturado da maneira como eu disse, ao final, ele deve calcular a média do Ga, do Gb e do grau final (Gf;Gfa;Gfb) e aí está minha maior dúvida! Como irei calcular a média do grau final da turma, após vários alunos utilizarem o programa, uma vez que alguns terão o grau final na variável Gf (passaram por média e não fizeram recuperação), outros na Gfa e outros na Gfb?? Eu sei que é muita coisa, mas se alguém puder me dar uma luz!! Isso deve estar pronto para a segunda que vem, mas estou bem perdido. Muito obrigado e desculpe se ficou confuso, caso queiram me ajudar e tenham alguma dúvida do que o programa deve executar, me avisem!!! Obrigado!!

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!