roccoC/C++'s Content - Fórum Script Brasil
Everything posted by roccoC/C++
Gerador de cpf - Linguagem C
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
roccoC/C++ replied to roccoC/C++'s question in C, 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
Comparar um elemento de um vetor com outro vetor
roccoC/C++ replied to manajj2's question in C, C++
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
ARQUIVO - COPIANDO CONTEÚDO
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
CODIFICADOR E DECODIFICADOR DE ARQUIVOS
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: http://codigosfontes-ccplus-plus.blogspot.com.br/2016/05/pode-ser-que-voce-utiliza-um-computador.html
QSORT - ORDENANDO UM VETOR DE INTEIROS
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
QSORT - ORDENANDO UMA MATRIZ DE INTEIROS
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
QSORT - ORDENANDO UMA MATRIZ DE STRING
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
QSORT - ORDENANDO UM VETOR DE STRUCT
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
ARQUIVO - FORMATO ESPECÍFICO COM FSCANF
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
ARQUIVO - LEITURA POR FSCANF
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
PROGRAMA LOTECA
Ó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
MACROS: USO AVANÇADO
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
MACROS: CRIANDO E UTILIZANDO
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: CONTROLANDO VARIÁVEL
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
TYPEDEF - RENOMEANDO TIPOS
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
ARQUIVO BIN : GERANDO - GRAVANDO E LENDO INTEIROS
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: 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
VARIÁVEL STATIC LOCAL
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
VETOR - INVOCANDO VETOR
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
MATRIZ - PREENCHIMENTO SEM REPETIÇÃO
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
ELIMINAR ELEMENTO DO VETOR EM C++
roccoC/C++ replied to vitaovtc123's question in C, C++
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!
Dúvida em If
roccoC/C++ replied to PerguntasScript's question in C, C++
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
roccoC/C++ replied to renan_j's question in C, C++
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
CAÇA PALAVRAS - LINGUAGEM C
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