Ir para conteúdo
Fórum Script Brasil
  • 0

Probabilidade em C


seteBR

Pergunta

Bom dia, estou com uma tarefa a resolver, preciso criar um programa em C que interaja com o MySQL coletando dados e calculando a probabilidade em cima dos dados pré-existentes.

Preciso da ajuda de vocês para criar a interação com o MySQL e para calcular a probabilidade com base nos resultados colhidos.

Queria algo semelhante ao WEB BOT PROJECT.

Grato.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Beraldo, estou com uma duvida referente a como utilizar o resultado de uma busca em mysql.

Consegui realizar a busca com o seguinte código:

#include <stdio.h>

#include <mysql/mysql.h>

#define HOST "localhost"

#define USER "user"

#define PASS "pass"

#define DB "teste"

int main(void)

{

MYSQL conexao;

MYSQL_RES *resp;

MYSQL_ROW linhas;

MYSQL_FIELD *campos;

char query[]="SELECT * FROM bolas;";

int conta; //Contador comum

mysql_init(&conexao);

if (mysql_real_connect(&conexao,HOST,USER,PASS,DB,0,NULL,0))

{

printf("Conectado com Sucesso!\n");

if (mysql_query(&conexao,query))

printf("Erro: %s\n",mysql_error(&conexao));

else

{

resp = mysql_store_result(&conexao);//recebe a consulta

if (resp) //se houver consulta

{

//passa os dados dos campos para a variável campos

//escreve na tela os nomes dos campos dando

//um tab somente

campos = mysql_fetch_fields(resp);

for (conta=0;conta<mysql_num_fields(resp);conta++) {

printf("%s",(campos[conta]).name);

if (mysql_num_fields(resp)>1)

printf("\t");

}

printf("\n");

//enquanto retonrnar registros, conta até o

//número de colunas que a tabela tem e escreve na

//tela com um tab, depois pula a linha e tenta

//pegar outro registro

while ((linhas=mysql_fetch_row(resp)) != NULL)

{

for (conta=0;conta<mysql_num_fields(resp);conta++)

printf("%s\t",linhas[conta]);

printf("\n");

}

}

mysql_free_result(resp);//limpa a variável do resultado: resp

}

mysql_close(&conexao);

}

else

{

printf("Conexao Falhou\n");

if (mysql_errno(&conexao))

printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao));

}

return 0;

}

Agora preciso contar quantos resultados são da mesma cor e calcular a probabilidade daquela cor ser a próxima.

O cenário ficaria mais ou menos assim.

Em uma garrafa opaca existem bolas e cada bola possui uma cor, sabe-se que so existem 6 cores diferentes dentro da garrafa mas não se sabe a cor certa até que a garrafa seja virada de ponta cabeça e a bola vir para o gargalo. Aí vê-se a cor e a experiencia é registrada. Sabendo que essa experiencia é refeita 10 vezes ao dia durante dois mil dias. Qual cor vai preencher a proxima célula da tabela na linha de baixo.

A tabela que criei no mysql tem 10 colunas. (Uma para cada resultado "diario")

Cada célula contem o resultado de uma experiencia. (Vira-se a garrafa e registra a cor).

A tabela já esta populada com os resultados.

Consegui consultá-la com C com o código acima, sendo que pesquisei sobre uma função semelhante ao CONT.SE do EXCEL e o mais perto que encontrei foi o SELECT COUNT(*) AS Total FROM `bolas` mas não sei como implementá-la no código acima. consegui um código de calculadora em C que creio poder usar para calcular as probabilidades. Agora o que esta pegando mesmo é como vou contar os valores iguais e gerar a próxima linha da tabela com as 10 células.

Conseguiu entender?

Grato pela atenção.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...