Ir para conteúdo
Fórum Script Brasil

Ezequiel A. Ribeiro

Membros
  • Total de itens

    25
  • Registro em

  • Última visita

Sobre Ezequiel A. Ribeiro

Perfil

  • Gender
    Male
  • Location
    Limeira - SP

Ezequiel A. Ribeiro's Achievements

0

Reputação

  1. dá um olhada nesse código http://programacaoobjetiva.blogspot.com.br...s-em-disco.html
  2. Não sei qual a melhor maneira de se fazer isso, mas sei que nos sistemas operacionais dá para redirecionar a saida. Por exemplo, se você digitar somente dir no prompt as informações serão impressas na tela, mas se você digitar: dir > C:\arquivoqualquer.txt No seu caso ficaria no algoritmo: system("wmic logicaldisk get name > C:\arquivoqualquer.txt "); As informações serão gravadas no arquivo. Fazendo isso você pode abri esse arquivo e ler seu conteúdo o que é fácil. É só dar uma pesquisadinha na net de como fazer para gravar e ler arquivos em C.....não tem erro.
  3. no windows seven sei que se digitar : wmic logicaldisk get name no prompt do DOS ele irá listar todos os hds... então seu algoritmo teria que fazer um: system("wmic logicaldisk get name");
  4. perfeito a solução %c e %s tem uma diferença crucial.
  5. O seu código está um tanto quanto confuso. Pelo que entendi você criou uma matrix de char de nxn dimensões e você quer inserir nela um k de inteiro ? Isso vai dar problemas ela só receberá strings. Ponteiros não guardam valores, eles apenas apontam para endereços de outras variáveis. int a = 5; int *b = &a; // b está sendo instruído a apontar para o endereço de 'a', o sinal de '&' antes do 'a' fornece o endereço da variável e não seu conteúdo, no caso o 5. printf("%x",b); mostrará o endereço que 'a' ocupa na memória e que 'b' está apontando. printf(%d",*b); mostrará o valor que o endereço que 'b' aponta contém, no nosso caso o número 5; se fizer b = 10 vai dar erro porque b só pode receber um endereço de memória que no caso é fornecido por 'a' mas se fizer *b = 10 nesse caso tudo bem, você está dizendo que o endereço da variável que b aponta guardará o valor 10 se mandar imprimir 'a' , o valor impresso será 10 e não 5. Se você tem uma variável ponteiro que não aponta para nada, ou que depois de apontar e ser utilizada perderá sua função, você precisará fazer *b = NULL ou *B = 0 . Pronto seu ponteiro não correrá o risco de apontar para algo que não exista ou que exista mas não deveria apontar. Amigo essa é a magia da linguagem C/C++ você tem total liberdade de manipular suas variáveis. No entanto o perigo está em seu ponteiro apontar para algo que não existe, que possa ter sido deletado antes, o seu programa apresentará um grave erro. No seu algoritmo penso que seria algo do tipo : na main você criar 3 variáveis: int k, int nlin, int ncol; você faz uns printf e scanf para pegar o valor que deseja guardar e as posições na matrix. depois é só passar para função.... caso minha função fosse guardar(int matrix[2][2], int *nlin, int *ncol, int *k) na main a chamaria da seguinte forma guardar(matrix,&nlin,&ncol,&k) e na função seria matrix[*nlin][*ncol] = *k você pode fazer uma graça e criar vários ponteiros tipo: int a = 0; int *b = &a; int **c = &b; int ***d = &c; int ****e = &d; printf("%d",****e); ponteiros podem apontar para outros ponteiros ....uhallll...... quando o pessoal vê isso eles piram....quem programa em java somente, por exemplo, ao ver isso tem asia... hauahuahauh
  6. faz um "do" " while" é simples e vai satisfazer suas necessidades. por exemplo.. main(){ int continuar = 1; do{ coloque todo seu código aqui dentro aqui por último você faz uma pergunta tipo.... printf("Deseja continuar ? Sim = 1 e Não = 0"); scanf("%d",&continuar); enquanto não for digitado 0 o laço continua... }while(continuar != 0); }
  7. Amigo utilize o bloco if -> if else -> else Nesse site creio ter o que você precisa: http://intranet.deei.fct.ualg.pt/PI_flobo/pratica3-sol.html
  8. Meu amigo para gravar estruturas use o fwrite e o fread. A forma que você está usando para gravar é apenas para caracteres e não estruturas. O C não saberá localizar dentro do arquivo txt a sua estrutura gravada. Ao invés de gravar em um .txt você irá gravar em um .dat Vou tentar explicar.....quando você grava uma estrutura ele utiliza o tamanho da mesma para posiciona -la no arquivo corretamente para depois poder localizar -la. Para gravar estruturas o C irá verificar o tamanho delas através do comando sizeof(livro). Vamos supor que sizeof retornou o tamanho da sua estrutura como sendo 100. Então da posição 0 a 99 ele irá gravar o primeiro registro, da posição 100 a 199 o segundo e assim por diante. Para localizar o registro de número 1 o C irá faze irá fazer -lo através do tamanho do mesmo, nesse exemplo como a estrutura tem tamanho 100 do 0 ao 99 corresponderá o registro número 1. Tem esse exemplo aqui : http://programacaoobjetiva.blogspot.com.br...s-em-disco.html Dá uma olhada. Olhe um exemplo de gravação de estruturas. rewind(pont); fseek(pont,(pedido.pedidoNumero -1) * sizeof(pedido),SEEK_SET); fwrite(&pedido,sizeof(pedido),1,pont); Agora um exemplo de leitura: fseek(pont,(pedidoNumero -1) * sizeof(Pedido),SEEK_SET); fread(&pedidoLeitura,sizeof(pedidoLeitura),1,pont);
  9. Disponha...ainda estou gatinhando em C/C++ mais o pouquinho que sei tento passar adiante.
  10. Não sei te dizer absolutamente, mas pesquisa sobre Qt com relação a jogos. Sei que tem uma parte dessa IDE a QML que é voltada para aplicativos de modo geral para celulares inclusive jogos.
  11. Acho que é mais ou menos isso que você quer. #include<stdio.h> #include<stdlib.h> main() { char palavra[9]; char matrix_palavra[3][3]; int linha = 0; int coluna = 0; puts("Digite uma palavra:"); gets(palavra); for(;linha<9;linha++){ for(;coluna<9;coluna++){ matrix_palavra[linha][coluna] = palavra[linha]; break; } } linha = 0; coluna = 0; for(;linha<9;linha++){ for(;coluna<9;coluna++){ printf("%c\n",matrix_palavra[linha][coluna]); break; } } system("pause"); }
  12. Fiquei com a mesma dúvida. Se calhar é mais fácil fazer a arvore binária em JAVA ou até mesmo em Haskell! O problema do java é que ele dá tudo de mão beijada para o programador, de fato, para aprender realmente o C é melhor, pois força o programador a compreender a lógica do algoritmo.
  13. Amigo para criar a parte gráfica no C++ utilize a IDE QT Creator. Exemplo de calculadora : http://doc.trolltech.com/main-snapshot/scr...calculator.html
  14. O primeiro erro é você fazer duas declarações para seu array a[], uma global lá em cima da main e outra local no case 1. se você for usar a global não precisa passar por parâmetro as funções, pois o array será conhecido por todo seu código, o que não é bom e não recomendado. dá uma olhada : #include<stdio.h> #include<stdlib.h> #include<conio.h> #define TAM 100 void lerArray(int); void ordenaArray(int); int pesquisaArray(int,int); int a[TAM]; main() { int fim=0,opcao,tam,elemento,pesquisa,pos; int chave1=0; while(!fim) { system("cls"); printf("Programa de pesquisa binaria em arrays\n" "Escolha uma opcao:\n\n" "1. Ler array\n" "2. Pesquisar elemento no array\n" "3. Sair\n"); scanf("%d",&opcao); switch(opcao) { case 1: { printf("Qual o tamanho do array?\n"); scanf("%d",&tam); while(tam<1||tam>TAM) { system("cls"); printf("O array deve ter entre um e %d elementos.\n" "Quantos elementos havera no array?\n",TAM); scanf("%d",&tam); } lerArray(tam); ordenaArray(tam); chave1=1; } break; case 2: { if(chave1==1) { printf("Que elemento sera pesquisado?\n"); scanf("%d",&elemento); pesquisa = pesquisaArray(tam,elemento); } else printf("Leia um array antes!\n"); if(pesquisa==0){ printf("O elemento %d foi encontrado na posicao %d.\n",elemento); } else printf("O elemento não foi encontrado!\n"); } break; case 3: fim=1; break; default: printf("Digite 1, 2 ou 3!\n"); break; } getch(); } } void lerArray(int tam) { int i; printf("Digite os termos, separados por enter ou espaco:\n "); /*Impressão do pedido de entrada pelo teclado*/ for(i=0;i<tam;i++) /* lerArray usa um for para receber pelo teclado os valores do array, de entrada[0]*/ scanf("%d",&a[i]); /*até entrada[tam]*/ } void ordenaArray(int tam) { int passo,aux,cont; for (passo=1;passo<tam;passo++) { for(cont=0;cont<tam-passo;cont++) { if(a[cont]>a[cont+1]) { aux=a[cont]; a[cont]=a[cont+1]; a[cont+1]=aux; } } } } int pesquisaArray(int tam,int elemento) { int inf=0,sup=tam-1,meio = 0; for(int i = 0;i< tam;i++){printf("%d\n",a[i]);} while(inf <= sup ){ meio = inf + (sup-inf)/2; if(a[meio]==elemento) { return 0; } else if(a[meio]<elemento) sup = meio-1; else inf = meio +1; } return 1; }
  15. amigo dá uma olhada nesse blog http://programacaoobjetiva.blogspot.com.br...tshellsort.html esse algoritmo fiz na faculdade, ele contém vários métodos de pesquisa e classificação.
×
×
  • Criar Novo...