Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''C ''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Olá, tenho um trabalho para fazer com a seguinte questão em linguagem C: Menu 1) vetor 2)matriZ 3) sair Se escolher 1: Submenu 1.1) produto escalar 1.2) personalizado 1.3) voltar Se escolher 2: Submenu 2.1) Soma de Matrizes 2.2) Multiplicação de Matrizes 2.3) Determinante de ordem 2 2.4) Determinante de ordem 3 2.5) Voltar Se escolher 3: sair Estou com dificuldade em montar os Submenus apos o menu, como por as variáveis de vetores e matrizes (linha, coluna...) e voltar ao menu principal.. Se puderem me ajudar agradeço
  2. Tenho seguinte exercicio: Escrever um programa para alocar uma área de memória para armazenar 3 valores float e 3 caracteres, preencher esta área com dados provenientes do teclado e, por último, apresentá-los do último até o primeiro, isto é, de maneira inversa àquela do armazenamento. meu codigo: int main(int argc, char *argv[]) { int i; int * ptr1; int * ptr2; ptr1 = malloc(3*sizeof(float)); ptr2 = malloc(3*sizeof(char)); if(ptr1 != NULL){ for(i=0;i<3;i++){ printf("digite valores float: "); scanf("%f",&ptr1[i]); *ptr1[i] = i; } } if(ptr2 != NULL){ for(i=0;i<3;i++){ printf("digite os caracteres: "); fflush(stdin); scanf("%c",&ptr2[i]); ptr1[i] = i; } } for(i=3;i>0;i--){ printf("Resultado %f",ptr1[i]); } system("PAUSE"); return 0; }Erro: Eu coloco 1.1,1.2 e 1.3 nos floats e a,b,c no caratecres, e na saida sai tudo zero, ex: 0.0 e os caracteres são letras estranhas.
  3. Eu tenho este código em baixo foi baseado para testar um partida de jogo, funciona sem erro semântico e por vezes contem algum erro sintáctico na qual resulta em erros de obter resultados pretendidos. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX 10 #define N 5 typedef struct BOLA BOLA; // tipo de dados estruturado BOLA que irá ser declarado typedef struct JOGADOR JOGADOR; // tipo de dados estruturado JOGADOR que irá ser declarado typedef struct CAMPO CAMPO; // tipo de dados estruturado CAMPO que irá ser declarado struct BOLA {//cada bola int num_bola; // contem um numero de bola }; // Declaração da estrutura que define a bola struct JOGADOR {//cada jogador int num_jogador; // contem um numero de jogador BOLA bola[2]; // no maximo 2 bolas }; // Declaração da estrutura que define o jogador struct CAMPO {//O campo JOGADOR jogadores[MAX]; // contem no maximo 10 jogadores BOLA bolas[N]; // possui no maximo 5 bolas para cada jogo }; // Declaração da estrutura que define o campo JOGADOR novo_jogador; /*novo jogador*/ BOLA nova_bola; /*nova bola*/ CAMPO campo; BOLA *ptr_bola; /*apontador para nova bola*/ JOGADOR *ptr_jogador; /*apontador para novo jogador*/ CAMPO *ptr_campo; /*apontador para campo*/ void criar_jogador(void); void criar_bola(void); void comecar_jogo(void); void criar_jogador(void) { int i; //identificador para incrementar criação de jogador /* criar jogador*/ for (i = 0; i < MAX; i++) { novo_jogador.num_jogador++; //incrementa o numero de jogador campo.jogadores[i] = novo_jogador; //adicionar o jogador no campo ptr_jogador = &campo.jogadores[i]; ptr_campo = &campo; printf(">> Criando jogador %02d...\n\n", ptr_campo->jogadores[i].num_jogador); } } void criar_bola(void) { int k; //identificador para incrementar criação de bola for (k = 0; k < N; k++) { nova_bola.num_bola++; //incrementa o numero da bola campo.bolas[k] = nova_bola; //adicionar a bola no campo ptr_bola = &campo.bolas[k]; ptr_campo = &campo; printf(">> Criar bola %02d...\n\n", ptr_campo->bolas[k].num_bola); } } void comecar_jogo(void) { int m, j; int recebe_bola; srand(time(NULL)); printf("\t\t+====================================+\n"); printf("\t\t| INICIAR JOGO |\n"); printf("\t\t+====================================+\n\n"); for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("\tJogador %02d recebe bola %02d...\n", recebe_bola, m + 1); for (j = 0; j < MAX; j++) { if (recebe_bola == ptr_campo->jogadores[j].num_jogador) { ptr_campo->jogadores[j].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[j].num_jogador); printf("\tO jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->jogadores[j].bola[m].num_bola); } else { printf("\tERRO: Jogador %02d não recebeu bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->bolas[m].num_bola); } } } } void main(void) { printf("\t\t+====================================+\n"); printf("\t\t| INICIAR PROGRAMA |\n"); printf("\t\t+====================================+\n\n"); //criar jogador criar_jogador(); //criar_bola criar_bola(); //começa o jogo comecar_jogo(); printf("\t\t+====================================+\n"); printf("\t\t| TERMINAR PROGRAMA |\n"); printf("\t\t+====================================+\n\n"); }testando o main, obtive esse resultado como mostra na seguinte figura de facto, o erro ocorre na função começa jogo for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("\tJogador %02d recebe bola %02d...\n", recebe_bola, m + 1); for (j = 0; j < MAX; j++) { if (recebe_bola == ptr_campo->jogadores[j].num_jogador) { ptr_campo->jogadores[j].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[j].num_jogador); printf("\tO jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->jogadores[j].bola[m].num_bola); } else { printf("\tERRO: Jogador %02d não recebeu bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->bolas[m].num_bola); } } } alterei para switch para fazer teste e deu certo, se no caso for criado todas as cases, for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("Jogador %02d recebe bola %02d...\n", recebe_bola, m + 1); switch (recebe_bola) { case 1: //a bola recebida é a mesma que está no campo ptr_campo->jogadores[recebe_bola].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[recebe_bola].num_jogador + 1); printf("O jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[recebe_bola].num_jogador + 1, ptr_campo->jogadores[recebe_bola].bola[m].num_bola); break; case 2: //a bola recebida é a mesma que está no campo ptr_campo->jogadores[recebe_bola].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[recebe_bola].num_jogador + 1); printf("O jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[recebe_bola].num_jogador + 1, ptr_campo->jogadores[recebe_bola].bola[m].num_bola); break; default: printf("ERRO em jogador %02d recebe bola ...\n\n", ptr_campo->jogadores[m].num_jogador); break; } } nesse caso, funciona mas para os dois casos e agora o problema é aceder aos valores dentro da estrutura para que possa comparar e se for igual ao que foi criado, retorna verdadeira mas não está dando certo, agradeço alguma sugestão.
  4. Ola a todos, estou com uma duvida em chamar funções apartir de outras funções e não corresponde nada, já vi todas as partes e não consigo decifrar o erro e alguma ideia, eu agradecia ps: só foi postado alguma parte de codigo que tenho duvidas #define MAX_NUM_JOGADOR 3//numero maximo de jogadores #define MAX_NUM_BOLA 2//numero maximo de bolas para jogo typedef struct BOLA BOLA; // tipo de dados estruturado BOLA que irá ser declarado typedef struct JOGADOR JOGADOR; // tipo de dados estruturado JOGADOR que irá ser declarado typedef struct CAMPO CAMPO; // tipo de dados estruturado CAMPO que irá ser declarado struct BOLA {//cada bola int num_bola; // contem um numero de bola }; // Declaração da estrutura que define a bola struct JOGADOR {//cada jogador int num_jogador; // contem um numero de jogador BOLA bola[MAX_NUM_BOLA]; // existem várias bolas entre uma a duas bolas }; // Declaração da estrutura que define o jogador struct CAMPO {//O campo JOGADOR jogadores[MAX_NUM_JOGADOR]; // contem no maximo 5 jogadores BOLA bolas[MAX_NUM_BOLA]; // possui no maximo 3 bolas para cada jogo }; // Declaração da estrutura que define o campo JOGADOR novo_jogador; /*novo jogador*/ BOLA nova_bola; /*nova bola*/ CAMPO campo; BOLA *ptr_bola; /*apontador para nova bola*/ JOGADOR *ptr_jogador; /*apontador para novo jogador*/ CAMPO *ptr_campo; /*apontador para campo*/ void criar_jogador(void); void criar_bola(void); void bola_para_jogador(void); void dar_bola_ao_jogador(int, int); void chutar_bola_para_baliza(int, int); // funçao para criar jogador e adicionar ao campo void criar_jogador(void) { int i; //identificador para incrementar criação de jogador /* criar jogador*/ for (i = 0; i < MAX_NUM_JOGADOR; i++) { *ptr_jogador = novo_jogador; novo_jogador.num_jogador++; //incrementa o numero de jogador campo.jogadores[i] = *ptr_jogador; //adicionar o jogador no campo *ptr_campo = campo; printf("Criando jogador %02d...\n\n", ptr_campo->jogadores[i].num_jogador + 1); } } /* função criar bola*/ void criar_bola(void) { int k; //identificador para incrementar criação de bola for (k = 0; k < MAX_NUM_BOLA; k++) { *ptr_bola = nova_bola; nova_bola.num_bola++; //incrementa o numero da bola campo.bolas[k] = *ptr_bola; //adicionar a bola no campo *ptr_campo = campo; printf("Criar bola %02d...\n\n", ptr_campo->bolas[k].num_bola + 1); } } /*função para dar bola ao jogador escolhido aleatoriamente*/ void dar_bola_ao_jogador(int num_bola, int num_jogador){ *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; *ptr_estatistica = estatisticas; //se o jogador no campo que recebe a bola for igual ao jogador escolhido if (num_jogador == ptr_campo->jogadores[num_jogador].num_jogador) {//Duvida //a bola recebida é a mesma que está no campo ptr_campo->jogadores[num_jogador].t_posse_bola = time(NULL); //tempo de posse bola ptr_campo->jogadores[num_jogador].bola[num_bola].num_bola = ptr_campo->bolas[num_bola].num_bola; printf("\tA bola %02d foi para jogador %02d na baliza %02d...\n\n", ptr_campo->bolas[num_bola].num_bola + 1, ptr_campo->jogadores[num_jogador].num_jogador + 1, ptr_campo->jogadores[num_jogador].baliza.num_baliza + 1); sleep(1); printf("\tO jogador %02d na baliza %02d tem a bola %02d...\n\n", ptr_campo->jogadores[num_jogador].num_jogador + 1, ptr_campo->jogadores[num_jogador].baliza.num_baliza + 1, ptr_campo->jogadores[num_jogador].bola[num_bola].num_bola + 1); } } /*função para jogador X chutar bola para baliza de outro jogador*/ void chutar_bola_para_baliza(int num_bola, int chuta_bola) { int trajetoria_bola; int recebe_bola_chutada; srand(time(NULL)); *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; while (1) {//para teste //Duvida -> o jogador não chuta para sua baliza recebe_bola_chutada = rand() % MAX_NUM_JOGADOR + 1; //jogador X tem a bola e chuta para Jogador Y -> Duvida if (ptr_campo->jogadores[recebe_bola_chutada].num_jogador != ptr_campo->jogadores[chuta_bola].num_jogador) { ptr_campo->jogadores[recebe_bola_chutada].bola[num_bola] = ptr_campo->jogadores[chuta_bola].bola[num_bola]; printf("\tO jogador %02d chutou a bola %02d para baliza %02d do jogador %02d...\n\n", ptr_campo->jogadores[chuta_bola].num_jogador + 1, ptr_campo->jogadores[chuta_bola].bola[num_bola].num_bola + 1, ptr_campo->jogadores[recebe_bola_chutada].baliza.num_baliza + 1, ptr_campo->jogadores[recebe_bola_chutada].num_jogador + 1); } } e a minha duvida é nesta parte em chamar as funções void dar_bola_ao_jogador(int num_bola, int num_jogador); e função void chutar_bola_para_baliza(int num_bola, int chuta_bola); /* função dar bola ao jogador - aleatorio*/ void bola_para_jogador(void) { int m, n, p, q; int recebe_bola; srand(time(NULL)); *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; printf("\n\n"); printf("\t\t+====================================+\n"); printf("\t\t| INICIAR JOGO |\n"); printf("\t\t+====================================+\n\n"); for (m = 0, p = 0; m < MAX_NUM_BOLA; m++) { recebe_bola = rand() % MAX_NUM_JOGADOR; for (q = 0; q < MAX_NUM_JOGADOR; q++) { if (recebe_bola == ptr_campo->jogadores[q].num_jogador) { dar_bola_ao_jogador(m, ptr_campo->jogadores[q].num_jogador); } } p++; } if (p == qt_bola) { chutar_bola_para_baliza(m, ptr_campo->jogadores[recebe_bola].num_jogador); printf("\n\n"); printf("\t\t+====================================+\n"); printf("\t\t| JOGO TERMINOU |\n"); printf("\t\t+====================================+\n\n"); } } eis a imagem da simulação...
  5. Bom, sou iniciante na linguagem C, queria saber como fazer para escanear strings mas sem saber quantos caracteres essa string tem. Por exemplo, eu tenho que escrever um programa que dado uma frase tenho que determinar quantos caracteres são números mas sem ser informado o tamanho da string.
  6. Preciso ordenar o programa abaixo em ordem crescente somente pelos codigos dos produtos. alguém da um help? #include<stdio.h> #include<stdlib.h> struct matel { int codigo; char descricao[40]; float custo; struct matel *prox; }; typedef struct matel MATEL; MATEL *inicio, *fim; int contador; void mostra_lista(); int main() { int k,quant; MATEL *p,*aux; contador=0; printf("\nQuantas pecas serao registradas? "); scanf("%d",&quant); while (quant < 1) { printf("\nInforme valor maior que zero "); scanf("%d",&quant); } for(k=0;k<quant;k++) { aux=(MATEL *)malloc(sizeof(MATEL)); if(aux==NULL) { printf("\nImpossivel alocar espaco. Tecle algo"); getch(); return 0; } //Preeenche o vetor printf("\nDigite codigo do material[%d] : ",k+1); scanf("%d",&(*aux).codigo); fflush(stdin); printf("\nDigite descricao do material[%d] ",k+1); gets((*aux).descricao); printf("\nDigite custo do material[%d] ",k+1); scanf("%f",&(*aux).custo); if(contador==0) { inicio=fim=aux; contador++; aux->prox=NULL; } else { fim->prox=aux; fim=aux; aux->prox=NULL; contador++; } } mostra_lista(); printf("\n"); system("pause"); return 0; } void mostra_lista() { MATEL *aux; aux=inicio; while(aux) { printf("\nCodigo: %d",(*aux).codigo); printf("\nDescricao: %s",(*aux).descricao); printf("\nCusto: %.2f\n",(*aux).custo); aux=aux->prox; } }
  7. Thiago lablonsk

    LZW

    Boa noite pessoal, Eu estou com um problema... Para quem conhece lzw. Já vou direto ao assunto. Quando eu tenho que montar a tabela e a busca for dada com sucesso eu tenho que adicionar o char aos demais que já foram encontrados assim formando uma palavra e essa palavra vai aumentando... e na tabela (dicionario) você busca essa palavra+ a letra(char) que você acabou de retirar do arquivo... Eu gostaria de saber alguma forma de fazer isso... porque pode ocorrer de ficar(vai ficar) tão grande quanto o arquivo imagina um arquivo com mais de 7 milhões de símbolos...
  8. bvianaro

    Ajuda Programa

    Preciso de ajuda para fazer a seguinte implementação no programa: 1. Inserir produto na fila por ordem de chegada não permitindo códigos repetidos 2. Mostrar os produtos presentes na fila 3. Excluir um produto da fila mantendo-a ordenada por ordem de chegada 4. Pesquisar um produto na fila indicando qual a sua posição na fila ou informando que não está presente 5. Gravar a fila em disco com o nome produto.dat 6. Sair O programa é esse: struct matel { int codigo; char descricao[40]; float custo; struct matel *prox; }; typedef struct matel MATEL; MATEL *inicio, *fim; int contador; void mostra_lista(); int main() { int k,quant; MATEL *p,*aux; contador=0; printf("\nQuantas pecas serao registradas? "); scanf("%d",&quant); while (quant < 1) { printf("\nInforme valor maior que zero "); scanf("%d",&quant); } for(k=0;k<quant;k++) { aux=(MATEL *)malloc(sizeof(MATEL)); if(aux==NULL) { printf("\nImpossivel alocar espaco. Tecle algo"); getch(); return 0; } //Preeenche o vetor printf("\nDigite codigo do material[%d] : ",k+1); scanf("%d",&(*aux).codigo); fflush(stdin); printf("\nDigite descricao do material[%d] ",k+1); gets((*aux).descricao); printf("\nDigite custo do material[%d] ",k+1); scanf("%f",&(*aux).custo); if(contador==0) { inicio=fim=aux; contador++; aux->prox=NULL; } else { fim->prox=aux; fim=aux; aux->prox=NULL; contador++; } } mostra_lista(); printf("\n"); system("pause"); return 0; } void mostra_lista() { MATEL *aux; aux=inicio; while(aux) { printf("\nCodigo: %d",(*aux).codigo); printf("\nDescricao: %s",(*aux).descricao); printf("\nCusto: %.2f\n",(*aux).custo); aux=aux->prox; } }
  9. Preciso de um codigo em C do caminho minimo usando o algoritmo de Dijkstra, achei um na internet, ta funcionando direitinho, so q queria mudar ele pra poder escolher meu alvo e ele falar o caminho ate ele. Porque por ex, se eu coloco 4 vertices, ele pede certo o peso das arestas q eu ligar entres os 4 e da o caminho delas, mas não me pede meu alvo, porque posso querer saber o caminho da 2 para a 4, mas tambem posso querer da 1 para a 4. alguém PFVR SABE MUDAR? #include <stdio.h> #include <stdlib.h> #include <math.h> #define FLSH gets(l) int destino, origem, vertices = 0; int custo, *custos = NULL; void dijkstra(int vertices,int origem,int destino,int *custos) { int i,v, cont = 0; int *ant, *tmp; int *z; /* vertices para os quais se conhece o caminho minimo */ double min; double dist[vertices]; /* vetor com os custos dos caminhos */ /* aloca as linhas da matriz */ ant = calloc (vertices, sizeof(int *)); tmp = calloc (vertices, sizeof(int *)); if (ant == NULL) { printf ("** Erro: Memoria Insuficiente **"); exit(-1); } z = calloc (vertices, sizeof(int *)); if (z == NULL) { printf ("** Erro: Memoria Insuficiente **"); exit(-1); } for (i = 0; i < vertices; i++) { if (custos[(origem - 1) * vertices + i] !=- 1) { ant = origem - 1; dist = custos[(origem-1)*vertices+i]; } else { ant= -1; dist = HUGE_VAL; } z=0; } z[origem-1] = 1; dist[origem-1] = 0; /* Laco principal */ do { /* Encontrando o vertice que deve entrar em z */ min = HUGE_VAL; for (i=0;i<vertices;i++) if (!z) if (dist>=0 && dist<min) { min=dist;v=i; } /* Calculando as distancias dos novos vizinhos de z */ if (min != HUGE_VAL && v != destino - 1) { z[v] = 1; for (i = 0; i < vertices; i++) if (!z) { if (custos[v*vertices+i] != -1 && dist[v] + custos[v*vertices+i] < dist) { dist = dist[v] + custos[v*vertices+i]; ant =v; } } } } while (v != destino - 1 && min != HUGE_VAL); /* Mostra o Resultado da busca */ printf("\tDe %d para %d: \t", origem, destino); if (min == HUGE_VAL) { printf("não Existe\n"); printf("\tCusto: \t- \n"); } else { i = destino; i = ant[i-1]; while (i != -1) { // printf("<-%d",i+1); tmp[cont] = i+1; cont++; i = ant; } for (i = cont; i > 0 ; i--) { printf("%d -> ", tmp[i-1]); } printf("%d", destino); printf("\n\tCusto: %d\n",(int) dist[destino-1]); } } void limpar(void) { printf("{FONTE}33[2J"); /* limpa a tela */ printf("{FONTE}33[1H"); /* poe o curso no topo */ } void cabecalho(void) { limpar(); printf("Implementacao do Algoritmo de Dijasktra\n"); printf("Comandos:\n"); printf("\t d - Adicionar um Grafo\n" "\t r - Procura Os Menores Caminhos no Grafo\n" "\t CTRL+c - Sair do programa\n"); printf(">>> "); } void add(void) { int i, j; do { printf("\nInforme o numero de vertices (no minimo 2 ): "); scanf("%d",&vertices); } while (vertices < 2 ); if (!custos) free(custos); custos = (int *) malloc(sizeof(int)*vertices*vertices); for (i = 0; i <= vertices * vertices; i++) custos = -1; printf("Entre com as Arestas:\n"); do { do { printf("Origem da aresta (entre 1 e %d ou '0' para sair): ", vertices); scanf("%d",&origem); } while (origem < 0 || origem > vertices); if (origem) { do { printf("Destino da aresta (entre 1 e %d, menos %d): ", vertices, origem); scanf("%d", &destino); } while (destino < 1 || destino > vertices || destino == origem); do { printf("Custo (positivo) da aresta do vertice %d para o vertice %d: ", origem, destino); scanf("%d",&custo); } while (custo < 0); custos[(origem-1) * vertices + destino - 1] = custo; } } while (origem); } void procurar(void) { int i, j; /* Azul */ printf("{FONTE}33[36;1m"); printf("Lista dos Menores Caminhos no Grafo Dado: \n"); for (i = 1; i <= vertices; i++) { for (j = 1; j <= vertices; j++) dijkstra(vertices, i,j, custos); printf("\n"); } printf("<Pressione ENTER para retornar ao menu principal>\n"); /* Volta cor nornal */ printf("{FONTE}33[m"); } int main(int argc, char **argv) { int i, j; char opcao[3], l[50]; do { cabecalho(); scanf("%s", &opcao); if ((strcmp(opcao, "d")) == 0) { add(); } FLSH; if ((strcmp(opcao, "r") == 0) && (vertices > 0) ) { procurar(); FLSH; } } while (opcao != "x"); printf("\nAte a proxima...\n\n"); return 0; } Creditos ao dono do codigo acima q n sei quem é.
  10. #include"stdio.h" #include"io.h" #include"math.h" #include"time.h" void main(){ float numero_aleatorio, numero_digitado; float numero_aleatorio2, numero_digitado2; float numero_aleatorio3, numero_digitado3; float numero_aleatorio4, numero_digitado4; float numero_aleatorio5, numero_digitado5; float numero_aleatorio6, numero_digitado6; int contador; contador = 0; system("color 9"); printf("VOCE TEM 5 CHANCES PARA ACERTAR!! \n"); printf("QUANDO ESTIVER PRONTO APERTE QUALQUER TECLA!! \n"); getche(); printf("\n =-=-=-=- NIVEL: EZ -=-=-=-= \n"); while(contador < 5 && numero_digitado != numero_aleatorio){ system("color 8"); printf("Tente acertar um numero de 1 a 5:"); scanf("%f", &numero_digitado); srand(time(NULL)); numero_aleatorio = rand()%5+1; system("color 2"); printf("Numero Gerado (1 a 5): %2.0f \n", numero_aleatorio); if(numero_digitado == numero_aleatorio) { printf("Voce acertou!!! Parabens!! \n"); system("color 8"); printf("=-=-=-=- NIVEL: FACIL -=-=-=-= \n"); printf("Tente acertar um numero de 1 a 10: \n"); scanf("%f", &numero_digitado2); srand(time(NULL)); numero_aleatorio2 = rand()%10+1; system("color 2"); printf("Numero Gerado (1 a 10): %2.0f \n", numero_aleatorio2); } else { } contador = contador+1; } if(numero_digitado2 == numero_aleatorio2) { printf("Voce acertou!!! Parabens!! \n"); system("color 8"); printf("Tente acertar um numero de 1 a 20: \n"); printf("=-=-=-=- NIVEL: MEDIO -=-=-=-= \n"); scanf("%f", &numero_digitado3); srand(time(NULL)); numero_aleatorio3 = rand()%20+1; system("color 2"); printf("Numero Gerado (1 a 20): %2.0f \n", numero_aleatorio3); } else { } if(numero_digitado3 == numero_aleatorio3) { printf("Voce acertou!!! Parabens!! \n"); system("color 8"); printf("=-=-=-=- NIVEL: HARD -=-=-=-= \n"); printf("Tente acertar um numero de 1 a 30: \n"); scanf("%f", &numero_digitado4); srand(time(NULL)); numero_aleatorio4 = rand()%30+1; system("color 2"); printf("Numero Gerado (1 a 30): %2.0f \n", numero_aleatorio4); } else { } if(numero_digitado4 == numero_aleatorio4) { printf("Voce acertou!!! Parabens!! \n"); system("color 8"); printf("=-=-=-=- NIVEL: COLOSSAL -=-=-=-= \n"); printf("Tente acertar um numero de 1 a 50: \n"); scanf("%f", &numero_digitado5); srand(time(NULL)); numero_aleatorio5 = rand()%50+1; system("color 2"); printf("Numero Gerado (1 a 50): %2.0f \n", numero_aleatorio5); } else { } if(numero_digitado5 == numero_aleatorio5) { printf("Voce acertou!!! Parabens!! \n"); system("color 8"); printf("=-=-=-=- NIVEL: DEUS -=-=-=-= \n"); printf("Tente acertar um numero de 1 a 100: \n"); scanf("%f", &numero_digitado6); srand(time(NULL)); numero_aleatorio6 = rand()%100+1; system("color 2"); printf("Numero Gerado (1 a 100): %2.0f \n", numero_aleatorio6); } else { } if(numero_digitado6 == numero_aleatorio6) { printf("Parabens voce Fechou o jogo!!"); } else { system("color 4"); printf("Errrrrou! \nTente novamente!"); } getche(); } gostaria de saber Como por while(repetição) em todos os niveis (Ez já tem) queria ele no Facil etc..... ME AJUDEM PFVR!!!
  11. Boa noite! Um professor passou uma questão e estou me batendo, segue: Escrever um algoritimo que receba como entrada um array de inteiro e produza um único inteiro, ou seja, converter. Desde já agradeço!
  12. Boa tarde pessoal. Estou com um problema,tenho que fazer um projeto em C pra faculdade,que seria um sistema de gerenciamento de uma usina termelétrica de biomassa. Então eu fiz uma janela de comandos,onde pode-se ligar uma maquina 1,2 ou 3.O problema é que se eu ligo a maquina 1,por exemplo,eu não consigo ligar as outras duas enquanto a maquina 1 estiver ligada.Dei uma pesquisada e aprendi um pouco sobre as threads,acho que isso seria o mais viável de eu fazer.Só que o programa já está com meio caminho andado e as funções que criei são do tipo 'int'.Gostaria de saber se é possivel criar uma thread sem precisar usar uma função void. [/EDIT] Desculpa,acho que acabei explicando muito mal o que consiste nesse projeto. O projeto consiste no seguinte: Teremos 3 máquinas de cada tipo,sendo 9 no total (3 Moendas, 3 caldeiras e 3 geradores ). Quando se liga a moenda 1,o programa começa a gerar valores aleatórios da rotação da moenda, e enquanto a moenda estiver ligada, a caldeira também estará ligada e gerará valores aleatórios de temperatura. E por fim,se a caldeira está ligada, o gerador estará ligado também,gerando valores aleatórios de energia produzida. Então eu separei essas 9 maquinas em três partes - 1 moenda, 1 caldeira e 1 gerador pra cada parte -, ou seja,temos agora que o usuário poderá ligar a 'Moenda 1' e com isso o programa ficará rodando e gerando valores para a moenda, seguido da caldeira e por ultimo o gerador. E o problema se encontra aí..pois quando eu ligo a 'Moenda 1',o programa fica gerando valores até que dê algum erro nas máquinas, porém enquanto ele fica rodando a Moenda 1,eu não consigo ligar a 'Moenda 2 e 3' simultaneamente. [\EDIT] OBS: Uso o codeblocks no windows 10. Agradeço
  13. Eaí pessoal, tudo bem? Estou com uma dificuldade tremenda para resolver um pequeno problema em meu código. Preciso montar um quadrilátero em um plano matricial usando uma struct e imprimir ele na tela com as linhas do quadrilátero! Fiz uso de uma matriz do tipo char e atribuí '0' para pontos e ' ' para espaços vazios. struct quad { int p1; int p2; int p3; int p4; }; struct quad x; struct quad y; void definir() { int i, j; for(i=0;i<=29;i++){ for(j=0;j<=29;j++) { mat[i][j] = ' '; } } mat[x.p1][y.p1] = '0'; mat[x.p2][y.p2] = '0'; mat[x.p3][y.p3] = '0'; mat[x.p4][y.p4] = '0'; } void mostrar() { int i, j, linhasx, linhasy; for(i=0;i<=29;i++){ for(j=0;j<=29;j++) { printf(" %c", mat[i][j]); if (j==29){ printf("\n"); } } } }A int main já esta feita. Dessa forma ele só imprime os pontos. O meu unico problema é fazer as ligações entre os pontos do quadrilátero. Não sei nem por onde começar, tentei achar padrões mas não encontrei algo consistente para se colocar de forma automática (for s) no meu código. Alguém pode me ajudar? Valeu
  14. preciso fazer uma função para calcular a 4 potencia de uma matriz de ordem 100, chamando a função que faz a matriz quadrado abaixo: void quadrado (int mat[ ] [100], int quadmat [ ] [100] { int i,j,k; for (i=0 ; i<100 ; i++) { for (j=0 ; j<100 ; j++) { for (k=0 ; k<100 ; k++) { quadmat [ i ] [ j ] += mat [ i ] [ k ] * mat [ k ] [ j ]; } } }
  15. preciso fazer um codigo em C que tem uma variavel estruturada com 3 membros (xi,yi) que são pontos. outra variavel estruturada tem 3 membros que são distanciasescrever uma funcao e os struct para calcular as distancias entre os pontos. Fiz o codigo abaixo mas ta dando erro, to combilando com o code blocks e fazendo o main para testar: #include <stdio.h> #include <math.h> struct ponto{ int x1,y1; int x2,y2; int x3,y3; }; typedef struct ponto pontos; struct distancia{ int dist1; int dist2; int dist3; }; typedef struct distancia dist; dist calc_dist (pontos *p1, pontos *p2, pontos *p3){ float dist1=0, dist2=0, dist3=0; dist1 = (sqrt(pow(*p1->x1 - *p2->x2,2)) + (pow(*p1->y1 - *p2->y2,2))); //distancia p1 a p2 dist2 = (sqrt(pow(*p2->x2 - *p3->x3,2)) + (pow(*p2->y2 - *p3->y3,2))); //distancia p2 a p3 dist3 = (sqrt(pow(*p1->x1 - *p3->x3,2)) + (pow(*p1->y1 - *p3->y3,2))); //distancia p1 a p3 printf("\nDistancia do p1 ao p2: %f",dist1); printf("\nDistancia do p2 ao p3: %f",dist2); printf("\nDistancia do p1 ao p3: %f",dist3); } main (){ pontos p1,p2,p3; dist dist1,dist2,dist3; printf("\nDigite valor para o p1 (x1,y1):\n"); scanf("%d %d", %x1,&y1); printf("\nDigite valor para o p2 (x2,y2):\n"); scanf("%d %d", %x2,&y2); printf("\nDigite valor para o p3 (x3,y3):\n"); scanf("%d %d", %x3,&y3); printf("\nP1:(%d,%d) , P2:(%d,%d) , P3:(%d,%d)\n", x1,y1,x2,y2,x3,y3); }
  16. Um programa que forneça o maior elemento, o menor elemento, a média aritmética dos elementos de uma lista duplamente encadeada e desordenada. Faça também a inserção de um elemento após uma posição indicada. Alguém sabe como fazer?
  17. o meu professor deu-nos um trabalho para fazermos em c, é o nosso 3 programa e por isso estou a ter algumas dificulades neste programa: #include <stdio.h> #include <stdlib.h> void main() { float b, c, d, e, f, g; printf("indique um dos lados do terreno em metros\n"); scanf("%f", &b); printf("qual a medida do outro lado\n"); scanf("%f", &c); (b*c==d); printf("qual o preço em euros por metro quadrado\n"); scanf("%f", &e); printf("quanto pagou pelo terreno?\n"); scanf("%f", &f); (d*e==g); if (g < f) { printf("ficou a ganhar dinheiro\n"); } else if (g > f){ printf("ficou a perder dinheiro\n"); } else if(g == f) { printf("o valor é exato"); } getch(); } por mais que eu tente, o resultado é sempre "ficou a ganhar dinheiro", se alguém souber a resposta, por favor ajude-me.
  18. Ele executa, mais na tela não aparece nada! #include <iostream> #include <time.h> /* Função format - Retornar um ponteiro para uma variavel do tipo char com o valor da conversão */ char *format(int number){ char *retorno; char ret[100]; if (number < 10){ sprintf(ret,"0%d",number); /* Retorna o resultado em uma variável */ retorno = ret; return retorno; } else { sprintf(ret,"%d",number); retorno = ret; return retorno; } } /* Fim Função Format */ /* Função que retorna a hora */ char *hora(void){ int hora; int minuto; int segundo; char varHora[100]; char varMinuto[100]; char varSegundo[100]; char varHoraFormatada[100]; char *retornoHoraFormatada; struct tm *local; time_t t; t = time(NULL); local = localtime(&t); /* Obter hora, minuto e segundo e os alocar em uma variavel do tipo */ hora = local -> tm_hour; minuto = local -> tm_min; segundo = local -> tm_sec; /* Converter os valores retornados pelos ponteiros da função em variaveis do tipo char */ sprintf(varHora,"%s",format(hora)); sprintf(varMinuto,"%s",format(minuto)); sprintf(varSegundo,"%s",format(segundo)); /* criar a variavel de retorno dos dados e cria um ponteiro para essa variavel */ sprintf(varHoraFormatada,"%s:%s:%s",varHora,varMinuto,varSegundo); /* Retorna hora no formato hh:mm:ss com um ponteiro */ retornoHoraFormatada = varHoraFormatada; return retornoHoraFormatada; } /* Fim Função Hora */ int main(){ char horaSistema[100]; sprintf(horaSistema,"%s",hora()); printf("%s\n",horaSistema); } /* Mudar o Fuso Horário */
  19. Olá! Sou novo no fórum, e novo no estudo de C#. Preciso criar um windows form que tenha um botão e uma caixa de texto. Na caixa de texto eu digito um numero inteiro, e cada vez q clico no botão, é adicionado +1 no valor da caixa de texto acima. Alguém poderia me ajudar? Desde já agradeço!
  20. Fazer um algoritmo que leia o nome completo de uma pessoa, separando-o em partes. Considerar como delimitador(es) espaço(s) em branco. Escreva cada parte do nome em uma nova linha. Exemplo: Le:Henrique Silveira Escreve: Henrique Silveira Porém quando vou executar o código da aquele erro: arquivo.exe parou de funcionar.Não consegui identificar no código onde estou errando. o código está assim: #include<stdlib.h> #include<stdio.h> #include<math.h> #include<string.h> int main() { int i,j,cont,aux,aux2,pos; char st[100],ch; printf("digite uma palavra:\n"); scanf("%[^\n]s",st); aux=strlen(st); aux=aux-1; for(i=0;i<aux;i++){ if(st==' '){ printf("\n"); } printf("%s",st); } system("pause"); } Grato desde já!!
  21. Olá Pessoal Estou com duvidas no seguinte EXERCICIO me ajudem por favor ! Faça um algoritmo que leia o valor do salário de 35 funcionários e o valor do salário mínimo. Calcule e mostre a quantidade de salários mínimos que cada funcionário ganha. o que estou tentando fazer é o seguinte, porem não consigo resolver, onde estou errando ? : #include <stdio.h> #include <stdlib.h> #include <string.h> //Faça um algoritmo que leia o valor do salário de 35 funcionários e o valor do salário //mínimo. Calcule e mostre a quantidade de salários mínimos que cada funcionário ganha. int main(int argc, char *argv[]){ int contador=0, aux=0; float minimo=0, salario=0, quantidade=0; int salarioX[35], quantidadeX[35]; while(contador>=0){ if(contador<2){ if(contador==0){ printf("\n - Digite o VALOR do SALARIO MINIMO: "); scanf("%f", &minimo); printf("------------------------------------------\n\n\n"); } printf(" - Digite o VALOR do SALARIO do funcionario %i: ", contador+1); scanf("%f", &salario); salarioX[contador] = salario; quantidade = salario / minimo; quantidadeX[contador] = quantidade; contador++; printf("\n\n"); } if(contador==2){ system("pause"); system("cls"); printf("\n - A QUANTIDADE de SALARIOS MINIMOS que o funcionario %i ganha e: %i\n\n", aux+1, quantidadeX[aux]); aux++; } } printf("\n\n"); system("PAUSE"); return 0; }
  22. bio2015

    Bluetooth

    Preciso de um código para fazer um emparelhamento bluetooth de um android com um dispositivo em c++. Alguém pode me ajudar?
  23. Uma bola de tênis foi solta de uma altura h em metros. Sabe-se que a cada batida no solo a bola atinge apenas 95% da altura anterior. Escreva um programa completo em C que leia o valor da altura inicial (a entrada deverá ser validada e o usuário forçado a digitar uma altura válida), calcule e imprima o número de batidas no solo necessárias para que a altura seja menor que 23% da altura inicial. Utilize apenas laços de repetição com teste lógico no início.
  24. Boa Noite, olá,eu queria começar a programar em c , é eu queria alguma ajuda ou dica, ou então qual seria a melhor linguagem para começar é por quê. Me Desculpe se postei na área errada , sou novo por aqui :)
  25. Estou com um probleminha basico na programação condicional. Eu coloquei o Switch (op) e um Case 'arroz'. Mas quando eu digito arroz quando eu executo, esta vindo a mensagem errada. Porem se eu colocar simbolos ou numeros o Case funciona. Obrigado pela ajuda.
×
×
  • Criar Novo...