Ir para conteúdo
Fórum Script Brasil

roccoC/C++

Membros
  • Total de itens

    496
  • Registro em

  • Última visita

Posts postados por roccoC/C++

  1. Apenas para fins didáticos,
    e sem me responsabilizar por uso indevido,
    apresento este gerador de cpf.
    O gerador aqui proposto pode gerar
    até 11 cpfs de uma só vez,
    e foi criado em linguagem C.
    Quantidades inferiores a 1,
    ou maior que 11 não passa pela entrada,
    como também qualquer caractere,
    passando mesmo tão somente dígitos.
    Fica em sua responsabilidade o uso,
    não indicado pelo autor que sou eu mesmo.

    Veja abaixo uma imagem do programa em execução:

    cpf.PNG.5057b21eb61da4a319967a4c41dcf263.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2017/10/gerador-de-cpf-linguagem-c.html

  2. Olá

    hitalobastos

    Vou te passar o link atualizado do código, já que este em cima não está funcionando.

    Só quero deixar claro que fiz este código logo no início quando estava começando

    a programar, o código tá rodando normalmente, más acredito que se eu fosse fazer

    uma análise nele hoje faria várias mudanças, tiraria códigos sem efeitos, em fim, faria

    algumas otimizações que julgo necessárias.

    Más se lhe serve para alguma coisa fique a vontade.

    Aproveite e faça uma pesquisa no meu blog, entre os mais de 280 códigos em C disponibilizados

    gratuitamente para todo o público, e veja a qualidade e clareza dos exemplos lá postados.

    http://codigosfontes-ccplus-plus.blogspot.com.br/2012/11/campeonato-brasileiro.html

    Abraço

  3. Como não entendi direito o que você quer, vou te passar dois links de exemplos
    de comparação de vetores, um de inteiros e outro de caracteres:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/comparando-dois-vetores-de-caracteres.html

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/comparando-dois-vetores.html

    Abraço

    Como não entendi direito o que você quer, vou te passar dois links de exemplos
    de comparação de vetores, um de inteiros e outro de caracteres:


    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/comparando-dois-vetores-de-caracteres.html

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/comparando-dois-vetores.html

    Abraço


  4. Neste post mostro um bom exemplo de como copiar o conteúdo de um arquivo em outro,
    coisa muito fácil de fazer e entender para os que tem envolvimento com Linguagem C.
    Isto pode ser feito em poucas linhas de código, más como gosto das coisas bem
    organizadas, criei funções para deixar tudo  mais claro.
    Breve descrição:
    A função int Abre_Arq_Um ( ); abre um arquivo existente contendo alguns nomes de
    pessoas e imprime no vídeo, onde usei as funções mais usadas para isto.
    A função  int Abre_Arq_Dois ( ); abre um arquivo vazio criado previamente por mim
    e não pelo programa, a causa é só para mostrar que o arquivo está mesmo vazio
    antes de receber a cópia.
    A função int Abre_E_Copia ( ); abre o arquivo principal novamente, aqui criamos dois
    ponteiros para arquivo e um vetor de char para armazenamento das string do arquivo principal.
    Temos um laço while(); que varre os arquivos enquanto fputs(); faz a cópia dos dados
    que estão no vetor de char para o arquivo II, vindo então o fechamento dos dois arquivos.
    Quero que entenda que não cabe a mim detalhar o funcionamento dos comandos usados
    por este programa, isto fica a cargo dos interessados pelo código.

    Veja abaixo uma imagem do programa em execução:

    arq_1.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/06/arquivo-copiando-conteudo.html

  5. Pode ser que você utiliza um computador compartilhado com outros usuários, numa
    mesma rede ou conta, e as vêzes deseja escrever algo que ninguém possa ler.
    Talvez você possua senhas complexas com caracteres maiúsculos com minúsculos e
    números onde o copiar e colar é preciso para logar.
    A minha sugestão é que você venha codificar suas senhas ou arquivos utilizando
    o meu programa apresentado aqui neste post.
    Breve descrição do funcionamento:
    As ações originais de operações bit a bit são:
    testar, atribuir ou deslocar os bits vinculados a caracteres, palavras, ou números
    inteiros, que são respectivamente os tipos char e int da linguagem C, incluindo
    as variantes destes tipos.
    O futuro programador já deve ficar ciente que operações bit a bit não podem ser usadas
    em tipo float ou double, long double, void ou qualquer outro tipo mais complexos.
    Más estou me referindo ao único que é usado neste programa que é o " ~ ", entre
    as aspas na nossa língua portuguêsa, chamamos de "til", porém na linguagem C
    chamamos de complemento de um.
    Este operador inverte o estado de variáveis específicas em operações conjuntas,
    onde os zeros passarão a ser um, e os uns passarão a ser zeros.
    Como nossa máquina só entende 0 e 1,tal qual num circuito digital, não foi muito
    difícil criar este programa usando como componente principal este importante
    operador do C, e os leitores devem achar isto muito interessante e pode ser tudo
    o que você procurava em se tratando de um exemplo claro e funcional.
    O programa começa mostrando um belo e organizado menu de seis opções usando
    comandos ifs para interação com o usuário.

    Veja abaixo algumas imagens do programa em execução:

    a_m_u.PNGb_m_u.PNGc_m_u.PNGd_m_u.PNGe_m_u.PNGf_m_u.PNGg_m_u.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/pode-ser-que-voce-utiliza-um-computador.html


  6. Para finalizar esta série de exemplos de ordenação com qsort(); apresento este
    ótimo programa que mostra primeiramente um vetor de 100 elementos inteiros todo
    desordenado e do lado direito depois que clicamos em qualquer tecla, a função
    qsort (); faz a ordenação completa e perfeita de todos elementos.
    No primeiro post sobre qsort(); cujo o nome foi:     
    Qsort - ordenando um vetor de struct
    Escrevi um pouco sobre esta importante função do C.
    aliás, eu recomendo que o futuro programador em linguagem C, guarde este exemplo
    porque não é nada fácil encontrar outro como este.
    A única surpresa, más que não foge da lógica é o método escolhido para fazer as
    comparações, que é usando a função strcmp (); da biblioteca string.h dentro da
    função  int Qsort_Ord (); onde pares de elementos são comparados e retornados
    para a função principal.

    Veja abaixo uma imagem do programa em execução:

    qsortIV.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/qsort-ordenando-um-vetor-de-inteiros.html

  7. A função qsort(); é mesmo fantástica, nós já nos sentimos muito satisfeito em
    saber usá-la em nossos programas para ordenação em qualquer tipo aceito do C,
    imagine os responsáveis pela criação desta incrível função o quanto não se
    alegraram ao vê-la funcionando assim plenamente.
    No primeiro post sobre qsort(); cujo o nome foi:   
    Qsort - ordenando um vetor de struct
    Escrevi um pouco sobre esta importante função do C.
    Neste exemplo eu mostro como ordenar uma matriz de inteiros previamente declarada,
    aliás, eu recomendo que o futuro programador em linguagem C, guarde este exemplo
    porque não é nada fácil encontrar outro como este.
    A única surpresa, más que não foge da lógica é o método escolhido para fazer as
    comparações, que é usando a função strcmp (); da biblioteca string.h dentro da
    função  int Qsort_Ord (); onde pares de elementos são comparados e retornados
    para a função principal.

    Veja abaixo uma imagem do programa em execução:

    qsort III.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/qsort-ordenando-uma-matriz-de-inteiros.html

  8. No post anterior os leitores observaram o quanto é fácil usar a função qsort();
    para ordenar um vetor de estrutura, ode nele escrevi um pouco sobre esta importante
    função do C.
    Neste exemplo mostro como ordenar uma matriz de string, o que é ainda mais fácil
    a única surpresa, más que não foge da lógica é o método escolhido para fazer as
    comparações, que é usando a função strcmp (); da biblioteca string.h dentro da
    função  int Comp_ord (); onde pares de elementos são comparados e retornados
    para a função principal.

    Veja abaixo uma imagem do programa em execução:

    qsort II.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/qsort-ordenando-uma-matriz-de-string.html

  9. Neste exemplo que trago agora vou mostrar como ordenar uma um vetor de estrutura
    usando a função qsort(); da biblioteca padrão stdlib.h do C.
    A função qsort(); é derivada de uma série de refinamento da famosa
    e antiga função quicksort(); e na realidade passou a ser padrão há alguns anos
    atrás, o que mais me impressiona é a facilidade de uso em imprementações para ordenação
    em qualquer tipo de dados do C, e mesmo assim não é muito usada, nem sei porque
    se evitam tanto esta função, talvez seja por não conhecê-la...
    A função qsort(); utiliza alguns parâmetros veja na sua síntaxe abaixo:
    void qsort (void* base, size_t num, size_t size,
    int (*compar)(const void*,const void*));
    onde base: é um Ponteiro genérico para o primeiro elementoo da matriz a ser
    ordenado, a importância de ser ponteiro genérico se refere a poder usar a função
    com qualquer tipo de dados do C.
    num: Número de elementos na matriz apontada por base.
    size_t: é um tipo integral sem sinal.
    tamanho: Tamanho em bytes de cada elemento na matriz.
    size_t é um tipo integral sem sinal.
    compar: Ponteiro para uma função que compara dois elementos.
    Essa função é chamada repetidamente por qsort para comparar dois elementos até
    que todos tenham sido comparados e consequentemente ordenados.
    Talvez entender esta função seja bem mais complicado do que saber usá-la
    nos nossos programas, na verdade para entender a função qsort(); devemos primeiro
    entender o comportamento de ponteiro para função que é um recurso avançado do C.
    Fica a cargo do leitor deste post pesquisar para entender mais a fundo
    como funciona a função qsort();, onde naturalmente o assunto ponteiro para função
    é fundamental.
    Más para não virmos a sentir dores de cabeça com isto vamos a um exemplo bem claro
    de utilização da função qsort(); para ordenação de um vetor de struct.

    Veja abaixo uma imagem do programa em execução:

    qsort.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/qsort-ordenando-um-vetor-de-struct.html

  10. Se já estamos acostumados a ler de forma formatada com scanf();
    não estamos muito longe de entender como ler de modo idêntico com fscanf();
    Ora, estudantes de linguagem C devem achar isto perfeitamente possível e necessário em alguns casos.
    A função fscanf() funciona como a função scanf(). A diferença é que a saída de fscanf() é um arquivo e não o teclado do computador.
    Considere muito correto a seguinte síntaxe para fscanf();:
    int fscanf (FILE *fp,char *str,...);
    Como já acredito que você conhece a síntaxe de scanf(); imagino que você já detectou que a única diferença das duas síntaxe,
    é a especificação do arquivo destino através do ponteiro de arquivo.
    Alguns programadores não recomendam o uso de fprintf(); e fscanf(); para ler e escrever dados em arquivos, pois trabalham
    com dados ASCII e não binários o que ocasiona uma perda de desempenho no programa dando preferência o uso de fread e fwrite.
    Uma boa dica para uma leitura formatada com sucesso é fazer uma análise no arquivo primeiro e procurar estabelecer um determinado padrão se não houver.
    Note que no nosso arquivo lendo da esquerda para direita temos na primeira coluna nomes com sobrenomes de pessoas,
    na seguinte dia de nascimento, na próxima mês de nascimento, na seguinte o ano de nascimento, na coluna de origem
    leitura de strings referente à nacionalidade, e nas próximas colunas, são pêsos
    e altura de cada um, onde é óbvio que usei floats para ler isto.
    Exemplo mais claro que este que mostro agora acho impossível de encontrar, portanto o iniciante de linguagem C deve ficar
    satisfeito com tudo isto que é apresentado agora com clareza.

    Na imagem abaixo você ver o programa em execução:

    arfscf.PNG

    Abaixo está o link para acesso gratuito do código:


    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/arquivo-formato-especifico-com-fscanf.html

  11. Sempre que um arquivo é aberto, podemos escolher pelo menos três maneiras  para lê
    os seus dados que são: Caracter por caracter através das funções fgetc() e fputc();
    da biblioteca padrão ou uma string de cada vez pelas funções fgets() e fputs(); ,
    ou especificando um formato através das funções fscanf() e fprintf().
    Neste exemplo simples de leitura de um arquivo usei fscanf(); para fazer a leitura
    completa do arquivo, com um macete muito usado por programadores em C, onde se
    permite que fscanf(); idem scanf(); lê strings com espaços.
    Num próximo exemplo vou mostrar como especificar a leitura por tipos separados.

     

    fscanf.PNG

     

    Veja o link do código abaixo:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/sempre-que-um-arquivo-e-aberto-podemos.html

  12. Tudo começa com a impressão de dois vetores de inteiros inicializados por um
    contador com laço for, um com elementos de 6 a 15, que representa o total de
    de números que serão jogados, já o outro com números de 1 a 60 são os dígitos
    que serão marcados, onde a escolha mínima é de 6, e a máxima é de 15 veja as
    regras da Mega-sena.
    Cada número entre os dois vetores são capturados pelas suas coordenadas; com o
    posicionamento exato capturado, ficou fácil atribuir as marcações necessárias
    para cada posicionamento, na verdade cada número capturado pelos eventos do
    mouse representa um botão criado na marra em linguagem C e para o dos e isto
    graças a API do windows que sem ela nada seria conseguido.
    Quando o usuário marca suas jogadas, o computador faz o sorteio automático  de
    6 dezenas e marca com a cor vemelho.
    O próximo passo é fazer as comparações das jogadas do usuário e das dezenas que
    ele mesmo sorteou, e por fim são marcadas em roxo as que foram acertadas, ou que
    estão em comuns entre os dois, USUÁRIO X COMPUTADOR.
    O programa foi finalizado com 1.717 linhas, sendo que algumas foram usadas para
    fazer separações onde achei necessário para minha orientação.

    Assista o vídeo abaixo por favor:

    https://www.youtube.com/watch?v=NqQa7QK5aOc

     

     

  13. Ótimo programa criado em linguagem C, com exeção de poucas funções da API do
    windows para manipulação do mouse no cmd, ( prompt de comando ), é um tanto
    impressionante criar esta interface com todos os detalhes que foram aplicados,
    nem parece que o programa está sendo rodado na velha telinha preta do dos.
    O usuário escolhe uma das três opções que são:
    Coluna 1, coluna 2 e coluna do meio.
    O interessante é a capacidade do programa não permitir que se preencha outra
    opção na mesma linha, isto não foi nada fácil de se fazer, más quando uma opção
    é escolhida o retângulo correspondente é colorido com a cor ciano claro, e é assim
    em todas opções, quando chega a vez do computador, ele vai marcando seus palpites
    automaticamente, com a cor roxo claro, más o destaque maior fica por conta das
    jogadas que foram feitas em comum, entre usuário e computador, estas são coloridas
    com a cor vermelha, e por fim chegamos ao final do programa, veja o vídeo abaixo

     

  14. Como prometi apresento este segundo exemplo mais avançado sobre Macro.
    E falando ainda sobre a diretiva #define um recurso poderoso do C.
    Blocos de códigos, rotinas completas e até mesmo funções  podem ser encapsuladas
    dentro de uma macro, como é o caso deste exemplo.
    Criei algumas Macros, a macro GOT recebe uma função inteira, justamente a que cria
    uma moldura na tela do dos, e na macro NPRIM criei uma rotina completa para
    mostrar números primos e não primos dentro do vetor que recebe de um contador os
    100 primeiros números narurais.
    Observe que na macro NPRIM chamamos outras macros, inclusive a função
    got_color(2, 25, 3, 79, 2, 15); com seus seis parâmetros.
    Aproveite este exemplo prático, copie e guarde o código para estudo, saiba que
    dificilmente você encontrará outro exemplo como este e como os outros que já
    postei no blog, disponibilizado em público sem querer nada em troca.

    Veja abaixo uma imagem do progtrama em execução:

    macr.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/macros-uso-avancado.html

     

  15. Um outro recurso que impressiona e que também faz parte do C, são as macros.
    Para criar uma macro basta usar a diretiva #define e incluir na frente um nome
    que será o identificador da macro.
    O c possui diversas diretivas que foram definida pelo padrão C ANSI,
    más neste e na maioria dos programas mais simples, usamos pelo menos duas que são: #include e #define.
    Estas diretivas são definidas geralmente numa única linha e ponto-e-vírgula não são usados.
    Espaços são aceitos entre o nome e a string desde que a macro não esteja recebendo parâmetros.
    Vale lembrar que se a string for muito longa basta colocar uma barra invertida no final da
    linha para que o compilador entenda que tem que continuar na linha seguinte.
    Definir os nomes de uma macro em maiúscula pode ser uma boa prática
    de programação, porém não são regras.
    O programa que criei para exemplo gera 12 números num vetor, e em seguida embaralha
    seus elementos, e são chamados um por vez, para que as operações sejam feitas
    individualmente.
    Criei algumas macros para este exemplo e mostro na prática seu
    funcionamento, na verdade fui bem além, em chamar a função textcolor();
     da conio.h através de macro rodando perfeitamente.
    Pretendo mostrar outro exemplo de uso de macros mais avançado,
    e não quero incluir neste programa para não torna-lo mais complicado,
    portanto será muito bom vê-lo no próximo post.

    Veja abaixo uma imagem do programa em execução:

    macro.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/macros-criando-e-utilizandoo.html

     

     

  16. Const é um modificador ou qualificador num acesso à variável, na verdade ele trabalha controlando
    uma variável não permitindo modificações de seus valores.
    Uma variável const pode ser inicializada como qualquer outra variável no C, porém, como no meu caso pode ser
    que o seu compilador a defina como somente leitura se for tentado uma troca
    de valores por seu programa.
    Neste programa usei a clássica função troca com aplicações de const para mostrar num exemplo claro e prático
    que valores passados pelos argumentos de função não sofrem alterações, na verdade nem passou pela compilação.
    Sabemos que se passarmos um ponteiro para uma função esta função modifica o valor da variável apontada pelo ponteiro,
    más se const for aplicado na declaração dos parâmetros de modo algum será modificado.
    Para ter sucesso na compilação basta remover const das declarações
    das variáveis inteiras dos parâmetros da função troca.

    Veja abaixo uma imagem do programa em execução:

    const.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/const-controlando-variavel.html

  17. Todos devem saber que é permitido a criação
    de novos nomes para qualquer tipo suportado pelo C usando
    o comando typedef cuja sintaxe é: typedef tipo ( novo_nome ).
    A declaração de um novo nome para um tipo qualquer aceito,
    é preferivelmente feito logo após as declarações das bibliotecas
    que serão utiizadas pelo seu programa.
    O aprendiz de linguagem C, deve ficar sabendo que com isto
    não estamos criando um novo tipo de dados, más apenas renomeando
    um tipo existente e aceito no C.
    Um programador deve achar particularmente muito útil usar typedef
    aplicado em declarações de variáveis estrutura, trazendo simplicidade
    e clareza no desenvolvimento de projetos, e o seu uso se estende
     as uniões e enumerações.
    Na verdade o C, entende uma estrutura como qualquer outro tipo de dado,
    e o novo nome é tido como um genuíno identificador.
    Neste programa fiz algumas renomeações de tipos usando
    o comando typedef, aplicado a alguns tipos de estrutura, procurando
    esclarecer na prática como usar este comando
    que certamente o veremos muito na medida que nossos programas
    forem ficando mais avançados.

    typ.PNG

    tpy.PNG

    typd.PNG

    tydp.PNG

    typdef.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/typedef-renomeando-tipos.html

  18. Flexibilidade e poder são o que penso a respeito do sistema de arquivos do C.
    O C nos permite abrir arquivos binários ilegível a nós humanos, da mesma forma como abre arquivos de texto totalmente compreenssíveis.
    Com certeza é bem mais  seguro criar um arquivo onde a ilegibilidade
    não permite a comprensão, muito menos ainda a edição dos dados.
    O tipo FILE que é um dos mais usados quando devemos declarar um
    ponteiro para arquivo é o principal a nos fornecer informações precisas sobre o arquivo aberto,
    e um ponteiro para arquivo é capaz de identificar um arquivo específico dentro do disco.
    Fica claro que um ponteiro de arquivo é uma variável ponteiro
    do tipo FILE, e somos obrigados a usá-los para ler ou escrever
    arquivos em C.
    A biblioteca padrão do C, stdio.h possui diversas funções
    para manipulação de arquivos, porém não me sinto a vontade de comentar sobre estas funções que tomariam

    dezenas de linhas e fugiria do alvo principal que é apenas mostrar como criar,
    abrir e lê um arquivo binário em C.


    Veja abaixo uma imagem do programa em execução:

    arbin.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/arquivo-bin-gerando-gravando-e-lendo.html

     


  19. Quando precisamos de uma variável de valor efetivo entre chamadas
    de funções, usamos com efeito o modificador static.
    Sabemos que variáveis locais só podem ser usadas dentro da função
    onde foi declarada e variáveis globais podem ser usadas sem problemas
    em qualquer função dentro do mesmo programa.
    Apesar de uma variável static local ser reconhecida apenas no bloco
    de código onde foi declarada, ao contrário de variáveis globais,
    como mencionei acima, o programador pode se aproveitar do valor
    no qual ela foi inicializada em outras funções entre quantas chamadas forem necessárias,
    aliás é muito correto e quase sempre necessário inicializar uma variável static local.
    No programa abaixo mostro dois exemplos aplicando o modificador
    static a variáveis locais.
    No primeiro dentro da função Contador(); não inicializado por mim,
    más pelo compilador que automaticamente iniciou a variável static int n em 0,
    e que é incrementada a cada chamada, temos um contador até 5.
    No segundo dentro da função Mult(); temos os primeiros 5 múltiplos
    de 3.

    Veja abaixo uma imagem do programa em funcionamento:

    http://4.bp.blogspot.com/-YXL-UtVVcmM/VwkuSygNZBI/AAAAAAAACr0/giVm-UDw0ZkI0zP_42jrhfUOL2bW-PD9A/s1600/static.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/quando-precisamos-de-uma-variavel-de.html

     

  20. Depois de dois mêses sem programar apresento este segundo
    programa selando meu retorno,"Vetor - invocando vetor".
    Dois vetores pré-definidos, e duas funções de embaralhamentos,
    são os pontos principais deste programa.
    Um vetor escolhe através de um número aleatório automático,
    quantos elementos serão imprimidos pelo outro.
    Isto acontece dentro de um laço while(); que graças aos
    incrementos de duas variáveis, um número é escolhido por vez
    no vetor que indica a quantidade que o outro deve imprimir.
    O tempo curto e a pressa de encerrar por hoje, aliás não foi fácil
    fazer isto acreditam? não me permite fazer mais comentários.

    https://www.youtube.com/watch?v=wCATit89bqA&feature=youtu.be

  21. Graças aos ponteiros podemos obter tudo o que precisamos para
    alocar memória dinâmicamente, isto é em tempo de execução.
    O sistema de alocação dinâmica do C é soberbo e flexível, tendo
    como ponto negativo a necessidade do programador alocar e desalocar manualmente.
    É bem importante lembrar que variáveis locais usam a pilha,
    e as globais trabalham num armazenamento alocado em tempo de compilação,
    Observe então o quanto é útil e seguro contar memórias em tempo de execução,
    porque vai chegar o momento em que você futuro programador
    escreverá um programa em que precisará usar armazenamento variáveis.
    Quando uma função usa memória alocada dinâmicamente o C recorre ao
    heap, que é a região de memória livre que está entre o programa em execução
     e a área de armazenagem efetiva e a pilha.
    Não consigo saber o tamanho do heap, más posso imaginar que
    seja  grande o suficiente para atender estes casos.
    Não quero estender ainda mais esta breve descrição sobre alocação
    más recomendo sobre tudo que se empenhem a aprender o funcionamento
    das muitas funções de alocação dinâmica do C.

    Para esclarecer na prática como alocar memória dinamicamente em C,
    apresento este excelente exemplo de uma matriz onde será preenchida
    sem que um número se quer se repita.
    A função got_color ( ); usa seis parâmetros, e foi criada para
    mostrar uma moldura na tela do dos, com côr de frente e fundo.
    Os números inseridos pela entrada de dados são copiados no vetor
    dinâmico *vx, que por sua vez recebe cada número contido na variável
    inteira h, onde h recebe da matriz dinâmica cada algarismo recebido pela entrada de dados.
    Esta é a lógica do programa, *vx memoriza os números digitados
    e se o usuário digitar um número repetido será rejeitado com certeza.

    Veja abaixo imagens do programa em execução:

    alc.PNG

    alcar.PNG

    Veja abaixo o link do código do programa:

    http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/matriz-preenchimento-sem-repeticao.html

     

  22. No link abaixo, criei um programa há alguns mêses atrás, com o título de:

    "VETOR - REMOVENDO INTEIRO"

    Neste programa entre outras criei duas funções uma para restringir
    números floats e outra para restringir números abaixo e acima de um determinado valor estabelecido pelo programa,caracteres e negativos.

    São as funções:

    float Inte_iro( float y ){
    //que recebe um parâmetro.
    }
    e a função:

    int cnmemadc ( char num [ 3 ], int n, int x, int y ){
    //Que recebe 4 parâmetros.
    }

    Estas funções podem ser adaptadas facilmente ao seu programa com poucas modificações, deixo o link abaixo,

    confira se é isto mesmo, se não for, queira me desculpar.

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/08/vetor-removendo-inteiros.html

  23. Dê uma olhada nestes dois exemplos dos links abaixo, ambos estão no meu blog, e o acesso é aberto

    é claro, por que o jeito mais simples e eficiente é gerar os números através de um contador, e depois

    embaralhar usando a função rand(); para as linhas e para as colunas,

    para que os números gerados sejam diferentes a cada acesso, use a função srand();

    Procure mais informações sobre o assunto que você encontra uma infinidade na internet.

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/02/numeros-aleatorios-em-matriz-sem.html

    http://codigosfontes-ccplus-plus.blogspot.com.br/2015/08/aleatorios-de-1-100-sem-repeticoes.html

  24. Tudo se resume nas coordenadas do mouse que são capturadas da tela do dos
    e não da tela inteira do computador.Aliás, escrevi todo o código com uma
    ferramenta que marcava cada ponto da telinha preta indicando  a posição ( X, Y ),
    que são linhas e colunas.
    Quando uma palavra é encontrada no caça palavras que é simulado pelos caracteres
    diversos embaralhados,o usuário deve marcar a mesma, para isto basta clicar duas
    vêzes mais ou menos no centro da palavra, onde a còr e um fundo em ciano é
    chamado para o destacamento.
    A palavra ainda é marcada no texto à esquerda de onde vem a orientação do usuário
    sobre quais palavras procurar, estas estão em fonte maiúsculas, e recebem um
    fundo amarelo quando é encontrada.
    Na coluna da direita a palavra encontrada aparece novamente, e serão empilhadas
    uma por uma no que são encontradas.

    https://www.youtube.com/watch?v=QxSGVS-_MbQ&feature=youtu.be

     

×
×
  • Criar Novo...