Ir para conteúdo
Fórum Script Brasil

Mathiasi7

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Mathiasi7

  • Data de Nascimento 19/03/1993

Perfil

  • Gender
    Male
  • Location
    Goiânia.

Mathiasi7's Achievements

0

Reputação

  1. Veja bem, esse código percorreu MSN alguns amigos e daí o IOSTREAM apareceu, eu tinha posto STDIO.H, estou ciente que é de C. Mas valeu o toque. Sem usar aritmética de ponteiros eu consegui também, o problema é que é OBRIGATÓRIO o uso de ponteiro e alocação dinâmica. Só usei aquele vetor pra mandar os valores pro *cpf. Se vocês tentarem colar o programa no devC da vida, irão perceber que ele compila, porém, na hora de executar: tela preta. Ou seja, tem algo no começo que está errado. EDIT: notei que o programa inteiro tem coisa trocada, devo dizer de imediato que acho que foi o próprio editor do fórum que fez isso, pois em hora nenhuma eu coloquei Cin nem Cout, o código original é este: #include<stdlib.h> #include<stdio.h> int main () { int *aux; int *cpf; int i,k,soma=0,digito1=0,digito2=0; int cpfdeclarado[11]={0,1,8,1,9,2,8,5,1,5,4}; cpf = (int*) malloc(11* sizeof(int)); aux = (int*) malloc(9* sizeof(int)); for(i=0;i<11;i++) (*(cpf+i)) = cpfdeclarado; // *cpf recebe os 11 dígitos do cpfdeclarado; k = 10; for(i=0;i<9;i++) { *(aux+i) =*(cpf+i)*k--; //*aux recebe os valores de cpf vezes K decrementando-se. soma = ( soma + (*(aux+i))); //variável soma vai incrementando os valores obtidos da operação acima } if (soma%11 < 2) //condição pro 1° digito verificador ser 0 digito1=0; else digito1 = (11 - (soma%11)); //caso não seja < 2, é 11 - o resto //segund digito soma = 0; for (i=0;i<10;i++){ *(aux+i) = *(cpf+i) * k--; //mesma coisa sendo aplicada ao segundo dígito soma = (soma+ (*(aux+i))); } if(soma%11 <2) digito2 = 0; else digito2 = ( 11- (soma%11)); //final if (digito1 == (*(cpf+9))) //verifica se o valor obtido no primeiro digito, bate com a 9 posição do CPF { if (digito2 == (*(cpf+10))) //verifica se o valor obtido do segundo dígito, bate com a décima posição do CPF printf("\nCPF válido\n"); } else printf("CPF invalido\n"); system("PAUSE"); return 0; } EDIT 2 = estou assustado! Como o código pode ter sido tão modificado?!?!?!?! EDIT 3 = UAHUAHAUHA CONFUNDI ESSE TÓPICO COM OUTRO, ESSA DÚVIDA EU TINHA NO SEMESTRE PASSADO UAUAHA
  2. Pessoal, preciso fazer um programa com 4 funções, uma delas é verificar se o número digitado, é um CPF válido. Pra poder testar, fiz a função avulsa, ou seja, fiz ela independente: Não consigo nem testar a função, fica tela preta. O código está comentado: #include<stdlib.h> #include<stdio.h> int main () { int *aux; int *cpf; int i,k,soma=0,digito1=0,digito2=0; int cpfdeclarado[11]={0,1,8,1,9,2,8,5,1,5,4}; cpf = (int*) malloc(11* sizeof(int)); aux = (int*) malloc(9* sizeof(int)); for(i=0;i<11;i++) (*(cpf+i)) = cpfdeclarado; // *cpf recebe os 11 dígitos do cpfdeclarado; k = 10; for(i=0;i<9;i++) { *(aux+i) =*(cpf+i)*k--; //*aux recebe os valores de cpf vezes K decrementando-se. soma = ( soma + (*(aux+i))); //variável soma vai incrementando os valores obtidos da operação acima } if (soma%11 < 2) //condição pro 1° digito verificador ser 0 digito1=0; else digito1 = (11 - (soma%11)); //caso não seja < 2, é 11 - o resto //segund digito soma = 0; for (i=0;i<10;i++){ *(aux+i) = *(cpf+i) * k--; //mesma coisa sendo aplicada ao segundo dígito soma = (soma+ (*(aux+i))); } if(soma%11 <2) digito2 = 0; else digito2 = ( 11- (soma%11)); //final if (digito1 == (*(cpf+9))) //verifica se o valor obtido no primeiro digito, bate com a 9 posição do CPF { if (digito2 == (*(cpf+10))) //verifica se o valor obtido do segundo dígito, bate com a décima posição do CPF printf("\nCPF válido\n"); } else printf("CPF invalido\n"); system("PAUSE"); return 0; } Ao executar, não consigo nem testar o programa, pois só me aparece uma tela preta "aperte qualquer tecla para continuar" e fecha a mesma. Alguém sabe o que pode ser?
  3. Pessoal, estou aprendendo a programar, mas o professor anda judiando. Além de não explicar ele pede exercícios bem complexos, que abusam da lógica do pessoal do primeiro período. Gostaria que me ajudassem nesse problema: " Faça um programa em C para ler um vetor não ordenado de inteiros, com 10 elementos e, em seguida, solicitar ao usuário que digite um número inteiro. Como resultado, o programa deve escrever na tela a posição ocupada no vetor pelo elemento cujo valor seja igual ao número inteiro fornecido pelo usuário. Caso o elemento não exista, o programa escreverá uma mensagem indicando o fato. " Ou seja, entram 10 números, digita-se outro e é pra dizer qual a posição desse número no vetor. Eis o que tentei: #include <iostream> #include <stdlib.h> using namespace std; //tinha um programa mais fácil pra inventar não? int main () { int v [10]; int i, n,p; cout << "Digite 10 elementos:\n" << endl; for (i = 0; i < 10; i++) { cin >> v [i]; cout<<"\n"; } cout<<"Digite um numero: "; cin>>n; n=v[i]; //minha inteção aqui foi de fazer "n" receber a posição correspondente no vetor p=n; // aqui de fazer "p"(de posição) receber n para poder imprimir o p. cout<<p; if (n!=v[i]){ cout<<"\n O num. não faz referencia a nenhum elemento do vetor"; } } Vocês poderiam me ajudar com esse código?
×
×
  • Criar Novo...