Ir para conteúdo

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


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

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


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 148 registros

  1. vozue

    Ajuda no código

    Olá, estou aqui para pedir uma ajuda muito importante para mim. Estou querendo acrescentar algumas assinaturas no programa mas eu sou leigo na linguagem Existe um .pdf de demonstração http://www.file-recovery.com/downloads/filerecovery.pdf Em resumo o código demonstrativo é esse: ; =========================================================================================================== ; Signature Templates Usage ; =========================================================================================================== ; Empty lines and lines starting with semicolon are ignored ; Sections order and lines order in sections are not important ; Letter case is not important (excepting RegExp fields) ; ----------------------------------------------------------------------------------------------------------- ; Section TEMPLATES - required and contains fields numbering from one ; - TEMPLATE### - points to the section where signature template is described ; ----------------------------------------------------------------------------------------------------------- ; Section Template Header - required and contains fields: ; - BEGIN - required. Points to the section describing begin of the signature file ; - FOOTER - required. Points to the section describing end of the signature file ; - MAX_SIZE - non-required. Maximum file size to force file-end, if no file-end signature is detected. By default it is 64Kb. ; - GROUP - non required. If missed - template goes to User Defined templates group by default ; - DESCRIPTION - non required. This is a descriptive name of user template being displayed on a screen ; - EXTENSION - non required. This is a file extension to be displayed on a screen. ; ; ----------------------------------------------------------------------------------------------------------- ; Section describing file beginning (required), contains fields of the same type: ; ; signature = offset_start | offset_end ; ; signature - expression (regular or RegExp-compatible). Expression max length is 1024 bytes. ; offset_start - acceptable minimal signature offset from the beginning of the file ; offset_end - acceptable maximum signature offset from the beginning of the file ; ; If there are several fields listed in signature beginning, logical AND operation applied to confirm file start. ; ; ----------------------------------------------------------------------------------------------------------- ; Section describing file end (not required), contains fields of the same type: ; ; signature [= bytes_to_append] ; ; signature - expression (regular or RegExp-compatible). Expression max length is 1024 bytes. ; bytes_to_append - not required. How many bytes to append to the file after the signature is found ; ; If there are several fields listed in signature beginning, logical OR operation applied to define file end. ; =========================================================================================================== ; Examples ; =========================================================================================================== [TEMPLATES] TEMPLATE1 = PRIMITIVE_HTML TEMPLATE2 = PRIMITIVE_JPG [PRIMITIVE_HTML] DESCRIPTION = Primitive HTML Signature EXTENSION = html BEGIN=HTML_BEGIN FOOTER=HTML_FOOTER MAX_SIZE = 655360 [HTML_BEGIN] <html = 0 | 512 <head = 0 | 1024 [HTML_FOOTER] </html> = 2 [PRIMITIVE_JPG] BEGIN=BEGIN.TEST.JPG GROUP = Images and Camera RAW files DESCRIPTION = Primitive JPG files FOOTER=FOOTER-.TEST.JPG EXTENSION = test.jpg MAX_SIZE = 3221225472 [BEGIN.TEST.JPG] \xFF\xD8\xFF = 0 | 0 [FOOTER-.TEST.JPG] \xFF\xD9 Gostaria de saber como acrescentar extensões "txt" & "sql", já fiz várias alterações mas sem conhecimento não consigo obter um resultado plausível... Qualquer ajuda será bem vinda. Não sei nem o que quer dizer está linha: \xFF\xD8\xFF = 0 | 0
  2. segue ai o problema, tenho duvidas sobre os calculos e se é realmente para fazer um break para a condicional que esta no problema tabela nutricional.docx
  3. eyjafjallajokull_

    INTERSECÇÃO ENTRE VETORES

    Olá, comecei a faculdade de Eng. de Software e estou com algumas barreiras em um exercicio que pede a intersecção de vetores e não faço ideia de como fazer, se alguém puder me ajudar agradeço desde já! EXERCICIO: Escrever um programa para ler dois vetores de inteiros, de ordem n e m respectivamente (n ≤ 15 e m ≤ 25). Calcular o vetor interseção dos dois vetores dados, imprimido os três vetores. Se não houver a interseção, imprimir uma mensagem explicativa adequada. MINHA RESOLUÇÃO (que não sei também se esta correta até então): #include <stdio.h> main () { float N[15], M[25], I[15]; int n,m,inter,i; printf ("N MENOR OU IGUAL A 15 & M MENOR OU IGUAL A 25\n"); printf ("Digite um valor para 'n': "); scanf ("%d", &n); if (n>15) printf ("ERRO\n"); else { for (i=n;i<=15;i++) { printf ("Digite a sequencia crescente do 'n' ate 15:\n"); scanf ("%f", &N); } } printf ("Digite um valor para 'm': "); scanf ("%d", &m); if (m>25) printf ("ERRO\n"); else { for (i=m;i<=25;i++) { printf ("Digite a sequencia crescente do 'm' ate 25:\n"); scanf ("%f", &M); } } }
  4. BCG97

    Media em C

    Solicite quantos alunos tem na turma de algoritmos, depois solicite a nota da prova de cada aluno. Ao final mostre a média da turma.
  5. AleKing31

    Code::Blocks

    1-como faz para colocar ele como padrão?sem querer no inicio quando ele faz a pergunta eu coloquei para não pergunta mais sem querer e agora mesmo reinstalando não aparecer mais. 2-tem como deixar ele em português igual ao Dev-C++.
  6. Mabel P

    Exer de c++

    Os habitantes do planeta Uno possuem um terrível problema de detecção de números com mais de um algarismo, de modo que, para tudo que vão fazer, transformam qualquer valor inteiro em um número de um algarismo, realizando somas sucessivas do número até o mesmo ser reduzido a um algarismo. Por exemplo, o número 999999999991, no planeta Uno, soma-se todos os algarismos, resultando em 9+9+9+9+9+9+9+9+9+9+9+1 = 100. Como o número 100 tem mais de um algarismo, o processo se repete, resultando em 1+0+0 = 1 Uma das grandes dificuldades que os habitantes possuem está em comparar dois números e verificar qual deles é o maior, segundo as regras do planeta. Escreva um programa que, dados dois números inteiros, identifique qual deles é o maior número de um algarismo. Entrada Haverá diversos casos de teste. Cada caso de teste inicia com dois inteiros N e M (0 ≤ N ≤ 10100, 0 ≤ M ≤ 10100), indicando os dois números a serem comparados. O último caso de teste é indicado quando N = M = 0, sendo que este caso não deverá ser processado. Saída Para cada caso de teste, imprima uma linha, contendo um inteiro, indicando 1 se o primeiro número for o maior de um algarismo, 2 se o segundo número for o maior de um algarismo ou 0 se ambos os números possuírem o mesmo valor de um algarismo. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Eu sou iniciante em programação e já refiz varias vezes esse exercício, mas não da certo. Se puderem ajudar, agradeço desde já!
  7. Adriano Alvess

    Procuro freelancer em c/c++

    Procuro alguém experiente em c++ que possa programar pra mim um trabalho acadêmico, tenho em mãos a estrutura do trabalho pronta, pago bem, agradeço.
  8. henriquemss

    [Resolvido]Somar todas diagonais de uma matriz

    Olá, pessoal! Sou iniciante na linguagem C e preciso de uma ajuda. Preciso fazer um programa que some as diagonais de uma matriz. Conforme o exemplo em anexo. Mas estou tendo muita dificuldade. Segue código: #include <stdio.h> #include <math.h> #define M 4 #define N 3 int main(){ int i, j, soma=0; int mat[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}}, result[M+N-1]; for(i=0; i<M+N-1; i++){ //deixar todos valores do vetor iguais a zero result=0; } int a, b, k=0, aux; //auxiliares for(i=M-1; i>=0; i--){ for(j=N-1; j>=0; j--){ result[k]=mat[j]; //posição 0 do vetor recebe posição 4x3 da matriz; a=i; b=j; while(a>=0 && b<N && b>=0){ //verificar se linha>=0, coluna<N e >=0 a--; //decrementa linha b++; //acrescenta coluna result[k]+=mat[a]; //valor da posição 0 do vetor soma com o proximo valo da diagonal superior direita } k++; //avança para proxima posição do vetor*/ } } for(i=0; i<M; i++){ for(j=0; j<N; j++){ printf("\t%d ", mat[j]); } printf("\n"); } printf("\n"); for(i=0; i<M+N-1; i++){ printf("%d ", result); } } Alguem poderia me ajudar? Agradeço desde já.
  9. @gilsones

    Assinar XML com C/C++ (Certificado A3)

    Pessoal, é possível assinar digitalmente um documento XML com C/C++ ? Preciso contratar alguém para fazer um componente/modulo para assinar a NFe, que será acessado por outro sistema, mas queria saber se é possível. Tenho a opção do Java tbm, mas antes queria tentar um opção sem precisar instalar o Java no servidor. Obrigado.
  10. RogerTi

    Problema ao compilar projeto

    Pessoal bom dia, estou com um projeto em c# aqui já faz mais de um ano, e já tem uns 2 dias que eu compilo e ele não salva, eu mudo tudo e continua a mesma coisa, não sei oque está acontecendo, eu abro o projeto faço alguma alteração clico em start ele inicia, eu uso o app normalmente mas as alterações não são feitas, não tem nenhum erro exibido no VS, e nenhum warning nenhuma mensagem não tem nada Exemplo pessoal, se eu tenho no projeto as seguintes linhas Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("não sei"); e mudar para Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("teste"); Ele simplesmente não muda a cor nem o texto exibido no console. Atualizando, quando eu coloco la na configuração para debugar em release ele salva e faz as alterações, mas quando coloco em debug ele não salva
  11. 3) Ler dois números que formarão um intervalo. Após lido o intervalo, o programa deverá imprimir apenas os númerosque são múltiplos de 7 (sete) existentes no intervalo informado. Exemplo, se o intervalo informado for entre 0 e 17, oprograma deverá imprimir os números 7 e 14 apenas.4) Escreva um programa que leia uma letra de cada vez. Quando o programa finalizar ele deverá exibir quantos vogais equantas consoantes foram lidas. O programa termina quando for informado o número 0. A saída do programa deverá seralgo do tipo:Vogais lidas: XXX VogaisConsoantes llidas: YY Consoantes.
  12. Clauido José

    [Resolvido] Gridviews LinkButton

    Bom dia pessoal, Estou precisando de uma ajudar estou com uma pagina onde tenho um gridview com dados de usuários e nele tenho trez linkbutton eu quero pegar o id do usuario e chamar uma outra pagina e recuperar o id tipo tela para atualizar, deletar e execluir olha como esta o linkbutton. <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="AtualizarHyperLink" runat="server" CommandArgument='<%#Eval("UsuarioID")%>' NavigateUrl="~/admin/editausuario.aspx" Text="" CssClass="glyphicon glyphicon-pencil" /> <asp:LinkButton ID="DeletarHyperLink" runat="server" CommandArgument='<%#Eval("UsuarioID")%>' Text="" CssClass="glyphicon glyphicon-trash"/> <asp:LinkButton ID="DetalheHyperLink" runat="server" CommandArgument='<%#Eval("UsuarioID")%>' Text="" CssClass="glyphicon glyphicon-flag"/> </ItemTemplate>
  13. felipeziggg

    Recursividade

    /*Gostaria de saber se alguém pode me ajudar a fazer o limite superior(ls) Exemplo: 0 1 2 3 4 5 6 7 8 9 10 ls = 9 li = 1 */ #include <stdio.h> #include <stdlib.h> // global int soma; void showImpares1(short n) { if (n==0) return; printf("%d ", 2*n - 1); showImpares1(n-1); } void showImpares2(short n) { if (n==0) return; showImpares2(n-1); printf("%d ", 2*n - 1); } int somaImpares(short n) { if (n==0) return 0; return 2*n -1 + somaImpares(n-1); } void showLimitSup(short n, short ls){ if(n==ls) return; printf("%d ", 2*n - 1); showLimitSup(n-1, ls); } void showLimitInf(short n, short li){ if(n==li) return; printf("%d ", 2*n - 1); showLimitInf(n-1, li); } int main(int argc, char *argv[]){ printf("Entre com um natural pequeno: "); int n; int li; int ls; scanf("%d", &n); showImpares1(n); printf("\n"); showImpares2(n); printf("\n"); printf("soma = %d\n",somaImpares(n));printf("\n"); printf("Limite Superior: \n"); showLimitSup(n, ls); printf("\n");printf("\n"); printf("Limite Inferior: \n"); showLimitInf(n, li); printf("\n"); system("PAUSE"); return 0; }
  14. Clauido José

    Implementar authentication

    Bom dia galera Estou querendo implementar o authentication na minha pasta admin do meu projeto não estou tendo sucesso esta dando o seguinte erro: ] Vejam meu web.config ele está dentro da pasta admin e tenho a pasta principal onde vou contruir o meu site: <?xml version="1.0"?> <configuration> <system.web> <customErrors mode="Off"/> <authentication mode="Forms"> <forms name="Administracao" defaultUrl="admin/default.aspx" path="/" loginUrl="login.aspx" protection="All" timeout="30" > </forms> </authentication> <authorization> <allow roles="?"/> </authorization> </system.web> </configuration>
  15. AleKing31

    Code::Blocks Duvidas

    1-como faz para colocar ele como padrão?sem querer no inicio quando ele faz a pergunta eu coloquei para não pergunta mais sem querer e agora mesmo reinstalando não aparecer mais. 2-tem como deixar ele em português igual ao Dev-C++.
  16. carolOL

    Printar o valor de uma contagem feita em SQL

    Bem eu tenho a seguinte função: void Count_rows(void) { if (SQL_ENTER == SQL_ROWS(mysql, "SELECT COUNT(*) FROM `login_client` WHERE `ID` < DATE(NOW() + INTERVAL 1 DAY)")) sqldebug(mysql); printf("Counted users\n"); return; } Eu estava querendo printar a quantidade da contagem: eu tentei fazer da seguinte forma: int value = 0; if (SQL_ENTER == SQL_ROWS(mysql, "SELECT COUNT(*) AS `%d` FROM `login_client` WHERE `ID` < DATE(NOW() + INTERVAL 1 DAY)", value)) sqldebug(mysql); printf("Counted %d users\n", value); mais me retorna o valor 0 mesmo fazendo a contagem correta.
  17. Como ficaria em C um algorítimo que le o serial da maquina e compara com uma lista de 10 seriais. Se o serial for valido instalar aplicação Se não informa valido o printf " Serial invalido" char info[12] = "0"; SVC_INFO_SERLNO(info); if (memcmp(info, "123-456-789", 11) != 0); { return 1; } Não sei se seria assim para 1 serial....podem me ajudar??
  18. Rafael Silva Menezes

    Gerar uma matriz multidimensional

    Pessoal queria saber se alguém poderia me ajudar com esse problema : Descrição Escreva um programa que leia um número inteiro N (0 ≤ N ≤ 100) que corresponde à ordem de uma matriz bidimensional de números inteiros e imprima a matriz de acordo com o exemplo de saida. Formato de entrada A entrada consiste de vários números inteiros, um por linha, correspondendo a ordens de matrizes a serem construídas. O fim da entrada é indicado por zero (0). Formato de saída Para cada número inteiro de entrada, imprimir a matriz correspondente de acordo com o exemplo. Nenhum espaço deve ser impresso após o último caractere de cadalinha da matriz. Uma linha em branco deve ser impresso após cada matriz. Ao fim de tudo, uma quebra de linha. Queria saber como faço para gerar o a matriz que ele me pede, encontrei exemplos na net mas todos eram para tamanhos já definidos e não conseguir transformar para exemplos aonde o tamanho é indefinido . Se alguém poder me ajudar agradeço muito . Sou novo no fórum. Segue aqui o link do problema https://www.thehuxley.com/problem/323
  19. olá estou precisando de uma ajuda com esses exercícios, pois não estou conseguindo fazer... "VisuAlg" 1) O MDC (máximo divisor comum) de 2 números inteiros A e B pode ser calculado pelo seguinte procedimento: Enquanto B for diferente de zero R recebe o valor do resto da divisão de A por B A recebe o valor de B B recebe o valor de R Fim Enquanto Escreva um algoritmo capaz de calcular e mostrar o MDC de 2 números inteiros digitados pelo operador. _______________________________________________________________________________________________________________ 2) Construa uma algoritmo capaz de calcular o valor de S, sabendo-se que S é claculado por: s=(1/ 1)+(3/ 2)+(5/ 3)+(7/ 4)+(9/ 5)+(11/ 6)+⋯+(99/50) __________________________________________________________________________________________________________________ 3) Construa um algoritmo capaz de receber as coordenadas x e y de dois pontos em um plano cartesiano e calcule a mostre a distância entre eles.
  20. Guiibarbosaa

    [Resolvido] Ponteiro retornando valor inesperado

    Olá galera, bom dia ! Estou desenvolvendo um trabalho para faculdade onde armazeno e exibo os resultados de ordenação de diversos algoritmos, sendo numero de comparações, trocas e tempo. Tenho tudo pronto e escrito, ou seja, o escopo do trabalho esta Ok, falta implementar o resto dos algoritmos. Consegui quase tudo com a ajuda de colegas de outro fórum, porém estou com um erro que não consigo soluciona-lo, se alguém puder me dar uma ideia do que esta acontecendo fico grato. 1- Aqui eu tenho minha lista global de registros que ira armazenar os resultados de ordenação: typedef struct{ int numcomp; int numtrocas = 0; }ESTATISTICAS; 2- Como exemplo o algoritmo bubble sort recebendo os valores por referencia: void bubbleSort(int vet[], int num, ESTATISTICAS* estatisticas){ int i, continua, aux, fim = num; do{ continua = 0; for(i = 0; i < fim -1; i++ ){ estatisticas->numcomp++; if(vet > vet[i+1]){ aux = vet; vet = vet[i+1]; vet[i+1] = aux; estatisticas->numtrocas++; continua = 1; } } fim--; }while(continua != 0); } 3- e aqui a declaração da lista e a chamada da função de ordenação com a exibição dos valores armazenados: int *ptr; ptr = geraVetor(vetor1); //imprimeVetor(ptr, vetor1); ESTATISTICAS* estatisticas = (ESTATISTICAS*) malloc(sizeof(ESTATISTICAS)); clock_t start, end; start = clock(); bubbleSort(ptr,vetor1, estatisticas); end = clock(); printf("\n\nTROCAS: %d", estatisticas->numcomp); printf("\n\nTROCAS: %d", estatisticas->numtrocas); 4- O erro consiste em: quando compilo meu programa tudo esta ok, porém o valor retornado pela variável numcomp esta muito além do numero de comparações, se parecendo mais com um endereço de memoria. algo do tipo: 348219. Já a variável numtrocas o valor é retornado normalmente apos os incrementos ++; Aguardo ajuda, de já agradeço.
  21. joaoufms

    Salvar lista em arquivo

    Boa Noite,estou com um programa de cadastro de caminhoes,cidades e cargas.Estou tendo problema em salvar a lista em um arquivo.Quando eu seleciono a opção de salvar o programa fecha. OBS:A função de salvar é a ultima. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> typedef struct caminhoes{ int id; char motorista[200]; char marca[200]; char la[200]; char lisd[200]; float kml; struct caminhoes *prox; }lcam; typedef struct cargas{ int id; char produto[200]; char origem[200]; char destino[200]; float vfrete; struct cargas *prox; }lcar; typedef struct cidades{ int id; char nome[200]; char vizinhos[200]; char distancia[200]; float você; struct cidades *prox; }lcid; void cad_cam(lcam **cabeca); void cad_car(lcar **carcabeca); void cad_cid(lcid **cidcabeca); void imp_cam(lcam *cabeca); void imp_car(lcar *carcabeca); void imp_cid(lcid *cidcabeca); void salvacam(lcam **cabeca); int main() { setlocale(LC_ALL, "Portuguese"); lcam *cabeca = NULL; lcam *noatual; lcar *carcabeca = NULL; lcar *carnoatual; lcid *cidcabeca = NULL; lcid *cidnoatual; int op; printf("0 - Fechar \n"); printf("1 - Cadastrar Caminhão \n"); printf("2 - Cadastrar Carga \n"); printf("3 - Cadastrar Cidade \n"); printf("4 - Imprimir Caminhão\n" ); printf("5 - Imprimir Cargas\n"); printf("6 - Imprimir Cidades\n"); printf("7 - Salvar Caminhao em Arquivo \n"); printf("8 - Excluir Cargas \n"); printf("9 - Excluir Cidades \n"); printf("10 - Relatórios \n"); printf("Digite uma opcao: \n"); scanf("%d", &op); while(op!=0){ switch(op){ case 0:{ op=0; break; } break; case 1: cad_cam(&cabeca); break; case 2: cad_car(&carcabeca); break; case 3: cad_cid(&cidcabeca); break; case 4: imp_cam(cabeca); break; case 5: imp_car(carcabeca); break; case 6:imp_cid(cidcabeca); break; case 7:salvacam(&cabeca); break; case 8: break; case 9: break; case 10: break; } printf("0 - Fechar \n"); printf("1 - Cadastrar Caminhão \n"); printf("2 - Cadastrar Carga \n"); printf("3 - Cadastrar Cidade \n"); printf("4 - Imprimir Caminhão\n" ); printf("5 - Imprimir Cargas\n"); printf("6 - Imprimir Cidades\n"); printf("7 - Salvar Caminhao em Arquivo \n"); printf("8 - Excluir Cargas \n"); printf("9 - Excluir Cidades \n"); printf("10 - Relatórios \n"); printf("Digite uma opcao: \n"); scanf("%d", &op); } } void cad_cam (lcam **cabeca) { setlocale(LC_ALL, "Portuguese"); lcam *noatual, *novono; int id; char mot[200]; char mar[200]; char loca[200]; char lisd[200]; float kml; printf("ID:\n"); scanf("%d", &id); setbuf(stdin, NULL); printf("Motorista:\n"); scanf("%[^\n]s", &mot); setbuf(stdin, NULL); printf("Marca:\n"); scanf("%[^\n]s", &mar); setbuf(stdin, NULL); printf("Local Atual:\n"); scanf("%[^\n]s", &loca); setbuf(stdin, NULL); printf("Lista de Destinos:\n"); scanf("%[^\n]s", &lisd); setbuf(stdin, NULL); printf("KM/L:\n"); scanf("%f", &kml); setbuf(stdin, NULL); if (*cabeca == NULL) { *cabeca = malloc(sizeof(lcam)); (*cabeca)->id = id; strcpy((*cabeca)->motorista, mot); strcpy((*cabeca)->marca, mar); strcpy((*cabeca)->la, loca); strcpy((*cabeca)->lisd, lisd); (*cabeca)->kml = kml; (*cabeca)->prox = NULL; } else{ noatual = *cabeca; while(noatual->prox != NULL) noatual = noatual->prox; novono = malloc(sizeof(lcam)); novono->id = id; strcpy(novono->motorista, mot); strcpy(novono->marca,mar); strcpy(novono->la,loca); strcpy(novono->lisd,lisd); novono->kml = kml; novono->prox = NULL; noatual->prox = novono; } } void cad_car (lcar **carcabeca) { setlocale(LC_ALL, "Portuguese"); lcar *carnoatual, *carnovono; int id; char prod[200]; char ori[200]; char dest[200]; float vf; printf("ID:\n"); scanf("%d", &id); setbuf(stdin, NULL); printf("Produto:\n"); scanf("%[^\n]s", &prod); setbuf(stdin, NULL); printf("Origem:\n"); scanf("%[^\n]s", &ori); setbuf(stdin, NULL); printf("Destino:\n"); scanf("%[^\n]s", &dest); setbuf(stdin, NULL); printf("Valor do Frete:\nR$"); scanf("%f", &vf); setbuf(stdin, NULL); if (*carcabeca == NULL) { *carcabeca = malloc(sizeof(lcar)); (*carcabeca)->id = id; strcpy((*carcabeca)->produto, prod); strcpy((*carcabeca)->origem, ori); strcpy((*carcabeca)->destino, dest); (*carcabeca)->vfrete = vf; (*carcabeca)->prox = NULL; } else{ carnoatual = *carcabeca; while(carnoatual->prox != NULL) carnoatual = carnoatual->prox; carnovono = malloc(sizeof(lcar)); carnovono->id = id; strcpy(carnovono->produto, prod); strcpy(carnovono->origem,ori); strcpy(carnovono->destino,dest); carnovono->vfrete = vf; carnovono->prox = NULL; carnoatual->prox = carnovono; } } void cad_cid (lcid **cidcabeca) { setlocale(LC_ALL, "Portuguese"); lcid *cidnoatual, *cidnovono; int id; char nome[200]; char viz[200]; char dist[200]; float vac; printf("ID:\n"); scanf("%d", &id); setbuf(stdin, NULL); printf("Nome da Cidade:\n"); scanf("%[^\n]s", &nome); setbuf(stdin, NULL); printf("Digite o Valor do Combistível:\nR$"); scanf("%f", &vac); setbuf(stdin, NULL); if (*cidcabeca == NULL) { *cidcabeca = malloc(sizeof(lcid)); (*cidcabeca)->id = id; strcpy((*cidcabeca)->nome, nome); (*cidcabeca)->você = vac; (*cidcabeca)->prox = NULL; } else{ cidnoatual = *cidcabeca; while(cidnoatual->prox != NULL) cidnoatual = cidnoatual->prox; cidnovono = malloc(sizeof(lcid)); cidnovono->id = id; strcpy(cidnovono->nome, nome); cidnovono->você = vac; cidnovono->prox = NULL; cidnoatual->prox = cidnovono; } } void imp_cam(lcam *noatual) { setlocale(LC_ALL, "Portuguese"); while( noatual != NULL) { printf("\nID:%d\n", noatual->id); printf("Motorista:%s\n", noatual->motorista); printf("Marca:%s\n", noatual->marca); printf("Local Atual:%s\n", noatual->la); printf("Lista de Destinos:%s\n", noatual->lisd); printf("KM/L:%.2f\n", noatual->kml); noatual = noatual->prox; } } void imp_car(lcar *carnoatual) { setlocale(LC_ALL, "Portuguese"); while( carnoatual != NULL) { printf("\nID:%d\n", carnoatual->id); printf("Produto:%s\n", carnoatual->produto); printf("Origem:%s\n", carnoatual->origem); printf("Destino:%s\n", carnoatual->destino); printf("Valor do Frete:R$%.2f\n", carnoatual->vfrete); carnoatual = carnoatual->prox; } } void imp_cid(lcid *cidnoatual) { setlocale(LC_ALL, "Portuguese"); while( cidnoatual != NULL) { printf("\nID:%d\n", cidnoatual->id); printf("Nome da Cidade:%s\n", cidnoatual->nome); printf("Valor do Combustível:%.2f\n", cidnoatual->você); cidnoatual = cidnoatual->prox; } } void salvacam(lcam **cabeca){ lcam *noatual; FILE *arquivo; arquivo = fopen("Caminhões.txt", "w"); if(arquivo == NULL){ printf("Erro na Abertura do Arquivo"); } else{ if(noatual == NULL){ fprintf(arquivo,"Lista Vazia!\n"); } else{ while(noatual != NULL){ fprintf(arquivo,"ID:%d\n", noatual->id); fprintf(arquivo,"Motorista:%s\n", noatual->motorista); fprintf(arquivo,"Marca:%s\n", noatual->marca); fprintf(arquivo,"Local Atual:%s\n", noatual->la); fprintf(arquivo,"Lista de Destinos:%s\n", noatual->lisd); fprintf(arquivo,"KM/L:%f\n", noatual->kml); noatual = noatual->prox; } } } fclose(arquivo); printf("Salvo com Sucesso!"); }
  22. Implementar o algoritmo da ordenação por seleção e incorporar no código um contador que retorne quantas comparações foram feitas e um contador que retorne quantas atribuições foram feitas. O programa principal deve criar uma sequência aleatória de 1000 posições e então ordenar a sequência. Deve-se imprimir a sequência original, a sequência ordenada e os contadores de comparações e atribuições. Para o upload, deve ser enviado um único arquivo .c não compactado... Arquivos com extensão .zip .rar e etc serão desconsiderados. Não consigo fazer a inserção #include <stdio.h> #include <stdlib.h> #define SIZE 1000 typedef int TipoIndice; typedef struct item { TipoIndice chave; int dado; } TipoItem; void insercao(TipoItem *A, TipoIndice n) { TipoIndice i,j,Min; TipoItem x; for (i=0; i <= n-1; i++) { Min=i; for (j=i+1; j<n; j++) if (A[j].chave < A[Min].chave) Min = j; x = A[Min]; A[Min] = A; A = x; } } void imprime(TipoItem *A, TipoIndice n) { int i; for (i = 0; i < n; i++) printf("%d(%d) ", A.chave, A.dado); } void preenche(TipoItem *A, TipoIndice n) { int i; srand ( time(NULL) ); for (i = 0; i < n; i++) { A.chave = rand()%SIZE; A.dado = i; } } int main() { TipoItem *vetor = malloc(sizeof(TipoItem)*SIZE); preenche(vetor,SIZE); insercao(vetor,SIZE); imprime(vetor,SIZE); system("pause"); return 0; }
  23. j0rg3jun10r

    [CÓDIGO] Torre de Hanoi com 5 Discos

    SOU INICIANTE NA LINGUAGEM C E DESENVOLVI ESSE PROGRAMA SIMPLES - TORRE DE HANÓI COM 5 DISCOS OBS: O CÓDIGO ESTÁ DISPONÍVEL PARA TODOS QUE QUISEREM MELHORÁ-LO #include <stdio.h> #include <stdlib.h> #include <math.h> // POW(); CALCULAR O VALOR DE MOVIMENTOS EXATOS DA TORRE DE HANOI; #define POSICOES 5 int torre1[5]= {1,2,3,4,5}, torre2[5]={0,0,0,0,0}, torre3[5] ={0,0,0,0,0}; // ARRAYS; int cont=0; // VARIAVEL PARA CONTAR O NUMERO DE JOGADAS; void mostrarTorres(); // PROTOTIPO DA FUNÇÃO PARA MOSTRA O ESTADO ATUAL DA TORRE; int valorTorre(int torre[5]); // PROTOTIPO DA FUNÇÃO PARA PEGAR O MENOR VALOR; int destinoTorre(int torre[5]); // PROTOTIPO DA FUNÇÃO PARA PEGAR O MENOR VALOR; void moverDiscos(int orig, int dest); // PROTOTIPO DA FUNÇÃO PARA MOVER DISCOS; void mostrarMenu(); // PROTOTIPO DA FUNÇÃO PARA MOSTRAR O MENU; int verificarFinal(); // PROTOTIPO DA FUNÇÃO QUE VERIFICA SE O JOGADOR FOI CAMPEÃO; void regras(); // PROTOTIPO DA FUNÇÃO QUE MOSTRA AS REGRAS DO JOGO; int main(void){ int op=1; while(op!=0){ printf(" - TORRE DE HANOI \n 2 - JOGAR\n 1 - REGRAS\n 0 - SAIR\n - DIGITE: "); scanf("%d", &op); switch(op){ case 2: mostrarTorres(); mostrarMenu(); break; case 1: regras(); break; default: if(op != 0){ printf(" - OPÇÃO INVALIDA INFORME NOVAMENTE\n - "); system("PAUSE"); system("CLS"); }else{ system("CLS"); printf("\n\n\t\t\t ENCERRADO COM SUCESSO.\n"); } break; } } return 0; } int valorTorre(int torre[]){ // FUNÇÃO PARA ULTIMO VALOR DO ARRAY int i, a=0; for(i=POSICOES-1; i>=0; i--){ if(torre[i] != 0){ a = i; } if(torre[4] == 0){ a = 0; } } return(a); } int destinoTorre(int torre[]){ // FUNÇÃO PARA RETORNA PROXIMO VALOR DE DESTINO int i, a=0; for(i=0; i<POSICOES; i++){ if(torre[i] == 0){ a = i; } } return(a); } void moverDiscos(int orig, int dest){ // FUNÇÃO PARA MOVER OS DISCOS int aux1, aux2, aux3; // REGRAS (O DISCO DE ORIGEM NÃO PODE SER MAIOR QUE O DESTINO) E (VALOR DO DISCO DE DESTINO TEM QUE SER DIFERENTE DE 0); // ORIGEM 1 - TORRE 1 if(orig == 1){ // DESTINO 2 - TORRE 2 if(dest == 2){ aux1 = torre1[valorTorre(torre1)]; aux2 = torre2[destinoTorre(torre2)+1] ; aux3 = torre2[valorTorre(torre2)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre1[valorTorre(torre1)] = 0; torre2[destinoTorre(torre2)] = aux1; cont++; } } // DESTINO 3 - TORRE 3 }else{ aux1 = torre1[valorTorre(torre1)]; aux2 = torre3[destinoTorre(torre3)+1] ; aux3 = torre3[valorTorre(torre3)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre1[valorTorre(torre1)] = 0; torre3[destinoTorre(torre3)] = aux1; cont++; } } } } // ORIGEM 2 - TORRE 2 if(orig == 2){ // DESTINO 1 - TORRE 1 if(dest == 1){ aux1 = torre2[valorTorre(torre2)]; aux2 = torre1[destinoTorre(torre1)+1] ; aux3 = torre1[valorTorre(torre1)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre2[valorTorre(torre2)] = 0; torre1[destinoTorre(torre1)] = aux1; cont++; } } // DESTINO 3 - TORRE 3 }else{ aux1 = torre2[valorTorre(torre2)]; aux2 = torre3[destinoTorre(torre3)+1] ; aux3 = torre3[valorTorre(torre3)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre2[valorTorre(torre2)] = 0; torre3[destinoTorre(torre3)] = aux1; cont++; } } } } // ORIGEM 3 - TORRE 3 if(orig == 3){ // DESTINO 1 - TORRE 1 if(dest == 1){ aux1 = torre3[valorTorre(torre3)]; aux2 = torre1[destinoTorre(torre1)+1] ; aux3 = torre1[valorTorre(torre1)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre3[valorTorre(torre3)] = 0; torre1[destinoTorre(torre1)] = aux1; cont++; } } // DESTINO 2 - TORRE 2 }else{ aux1 = torre3[valorTorre(torre3)]; aux2 = torre2[destinoTorre(torre2)+1] ; aux3 = torre2[valorTorre(torre2)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre3[valorTorre(torre3)] = 0; torre2[destinoTorre(torre2)] = aux1; cont++; } } } } mostrarTorres(); } void mostrarMenu(){ int orig, dest, test=0, aux; do{ // VERIFICA SE GANHOU! if(verificarFinal() == 1){ aux = pow(2, POSICOES)-1; if(cont == aux){ printf("\nParabéns, você ganhou e sua pontuação foi excelente %d de %d.\n", cont, aux); }else if(cont > aux && cont <aux+5){ printf("\nParabéns, você ganhou mas sua pontuação foi abaixo da média %d de%d.\n", cont, aux); }else{ printf("\nParabéns, você ganhou mas sua pontuação foi ruim: %d de %d.\n", cont, aux); } system("PAUSE"); system("CLS"); printf("\n\n\t\t\t ENCERRADO COM SUCESSO.\n"); exit(0); // FINALIZA O PROGRAMA; } printf("Informe Torre Origem (1 a 3): "); scanf("%d", &orig); do{ if(orig < 1 || orig > 3){ printf(" - Torre de Origem não corresponde, informe corretamente.\nInforme Torre Origem (1 a 3): "); scanf("%d", &orig); } }while(orig < 1 || orig > 3); mostrarTorres(); printf("Informe Torre Destino (1 a 3): \t"); scanf("%d", &dest); do{ if(dest < 1 || dest > 3){ printf(" - Torre de Destino não corresponde, informe corretamente.\nInforme Torre Destino (1 a 3): "); scanf("%d", &dest); } if(dest == orig){ printf(" - O destino não pode ser igual a torre de origem.\nInforme Torre Destino (1 a 3): "); scanf("%d", &dest); } }while(dest < 1 || dest > 3 || dest == orig); moverDiscos(orig, dest); }while(test != 1); } void mostrarTorres(){ system("CLS"); printf("\t TORRE DE HANOI \n"); for(int i=0;i<POSICOES;i++){ printf(" \t |%d| |%d| |%d| \n", torre1[i], torre2[i], torre3[i]); //printf(" \t%d|%d| %d|%d| %d|%d| \n", i, torre1[i], i, torre2[i], i, torre3[i]);// PARA TESTES } printf("\t Nº de jogadas: "); if(cont < 10){ printf("0%d\n", cont); }else{ printf("%d\n", cont); } } int verificarFinal(){ int opt=0; if(torre3[0] == 1){ opt = 1; } return(opt); } void regras(){ system("CLS"); printf(" - Torre de Hanói:\n"); printf(" O objectivo deste jogo consiste em deslocar todos os discos da haste\n"); printf(" Onde se encontram para uma haste diferente, \n Respeitando as seguintes regras:\n\n"); printf(" 1 - deslocar um disco de cada vez, o qual deverá\n ser o do topo de uma das três hastes.\n\n"); printf(" 2 - cada disco nunca poderá ser colocado sobre\n outro de diâmetro mais pequeno.\n\n "); system("pause"); system("CLS"); }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.