-
Total de itens
496 -
Registro em
-
Última visita
Posts postados por roccoC/C++
-
-
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
-
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.htmlhttp://codigosfontes-ccplus-plus.blogspot.com.br/2015/03/comparando-dois-vetores.html
Abraço
-
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/06/arquivo-copiando-conteudo.html
-
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:
Veja abaixo o link do código do programa:
-
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:
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
-
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:
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
-
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:
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
-
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:
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
-
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:
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 -
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.Veja o link do código abaixo:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/sempre-que-um-arquivo-e-aberto-podemos.html
-
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
-
Ó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 -
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/macros-uso-avancado.html
-
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/macros-criando-e-utilizandoo.html
-
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/const-controlando-variavel.html
-
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.Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/typedef-renomeando-tipos.html
-
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 tomariamdezenas 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: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
-
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:
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
-
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
-
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2016/04/matriz-preenchimento-sem-repeticao.html
-
Seria mais ou menos isto que te apresento neste link?
http://codigosfontes-ccplus-plus.blogspot.com.br/2015/08/vetor-removendo-inteiros.html
Lembrando que fiz isto em c, más pode ser adaptado facilmente para c++.
Abraço!
-
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
-
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
-
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
Gerador de cpf - Linguagem C
em C, C++
Postado
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:
Veja abaixo o link do código do programa:
http://codigosfontes-ccplus-plus.blogspot.com.br/2017/10/gerador-de-cpf-linguagem-c.html