Ir ao conteúdo
  • Cadastre-se

s4lezardv1A

Membros Plenos
  • Total de itens

    65
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Opa beleza amigo? Entao, tambem estou pensando nisso. Esse preço que eu falei acima do kit i7 4790 NON K é razoavel? É um processador bom não? Fica a par com um i5 7600 ou um i5 8400 talvez, e com 16GB. Tenho um cooler HYPER t4, sabe se funciona se eu pegar uma placa-mãe nova pra 7 ou 8 geração? Quero gastar no max 1.700
  2. Pessoal se puderem me ajudar. Estou para fazer um upgrade na minha maquina. Atualmente é um CORE 2 QUAD Q9550 , PLACA MSI P35 NEO, 8GB DDR2 800, GTX 960 AMP, FONTE OCZ 850 BRONZE. Estou usando um cooler HYPER T4 se nao me engano o nome. Estou querendo fazer um upgrade. Inicialmente estava pensando no i5 6600K, mas esta muito difícil de achar aqui na minha cidade ( quero evitar comprar de fora, e estou procurando inicialmente um kit usado). Minha segunda opcao ficaria um kit q encontrei: um i7 4790 NON K, 16GB ddr3 1833(se nao me engano), placa-mãe nao lembro no momento e com um cooler da cooler master parece. Mas estou com duvidas se vale a pena ainda pegar esse kit em 2018, visto que nao vou poder usa-lo para um futuro upgrade. Ou tento pegar um i5 6600 NON K ou o que eu estou vendo mais: um i6 7600 NON K( tambem estou na duvida se consigo pegar alguma placa que aceite o soquete das gerações 7 e 8 , possibilitando mais tarde um futuro upgrade), e mais 4gb ou 8gb de ram por enquanto. O i7 4790 NON K com o kit todo ta saindo por 1.550. Nao queria passar muito disso. Um i5 7600 com placa, to vendo por 1300, dai compro mais uma memoria de 4 ou 8gb, o cooler sabem se consigo usar o que eu tenho aqui??(HYPER T4).
  3. Felipe, entao, eu achei somente esse codigo com um modelo simples de implementação. Ja consegui implementar o codigo. A função coordenada eu nomeei ela, e ela tem como parametro um evento ir do tipo INPUT RECORD. Consegui fazer todo o processo para menus e funçoes. O codigo que eu fiz fica difícil postar porque juntando tudo deu 3.000 linhas. Me aventurei nele, e só agora vi que executei sem saber os fundamentos direito. Vou ler a documentação. Fora esse codigo, todo o resto foi implementado por mim, entao seria essa função mesmo que estou com varias duvidas. Pela sua explicação consegui entender mais um pouco o modo como ela funciona.
  4. Boa tarde pessoal. Estou usando uma função que encontrei para uso do mouse. Mas gostaria de entender o que cada linha significa. Vcs podem me dar uma ajuda? codigo: while ( 1 ) { ReadConsoleInput ( GetStdHandle ( STD_INPUT_HANDLE ), &ir_func, 1, &dw_func ); bl_func = ( coordenada ( &ir_func ) == 1 ); } O que cada linha quer dizer ai na parte de cima?
  5. Boa noite, gostaria de saber quais são os comandos mais usados para utilizar o cisco packet. Especificamente, estou procurando um comando para ficar mais fácil cabear as maquinas da rede de uma vez só, ou mais fácil do que ter que escolher toda hora o cabo na barra inferior. Gostaria tambem se tem como adicionar por exemplo 10 computadores de uma só vez.
  6. Boa tarde, estou fazendo esse codigo sobre cifra de transposicao. E nao estou conseguindo copiar os valores das colunas. Quero printar a coluna 2,depois a 0 e por ultimo a 1 de uma matriz, mas esta pegando valores repetidos, e antes imprimindo ela normalmente, da certo. O que pode ser? #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> typedef struct { char letra; int indice; } dados; typedef struct { dados chave[3]; } transposicao; int main() { transposicao transposicao; dados auxiliar; char texto[6],aux[3];; char matriztexto[3][2]; char matrizcode[3][2]; int i,j,m=0,n; // /* printf("Digite um texto: "); gets(texto); for(i=0; i<3; i++) { for(j=0; j<2; j++) { matriztexto[i][j]=texto[m]; matrizcode[i][j]=matriztexto[i][j]; m++; } } printf("\n\ntexto gravado.\n"); system("pause"); for(i=0; i<3; i++) { for(j=0; j<2; j++) { printf("%c",matriztexto[i][j]); } } printf("\n\ntexto mostrado.\n"); system("pause"); // */ printf("\n\ndigite uma chave de 3 letras"); gets(aux); for(i=0; i<3; i++) { transposicao.chave[i].letra=aux[i]; transposicao.chave[i].indice=i; } printf("\n\nChave gravada.\n"); system("pause"); for(i=0; i<3; i++) { printf("\n\nLetra %d = %c\n",i,transposicao.chave[i].letra); printf("Indice %d = %d",i,transposicao.chave[i].indice); } printf("\n\nChave mostrada.\n"); system("pause"); for(i=0; i<3; i++) { for(j=0; j<2; j++) { if(transposicao.chave[j].letra>transposicao.chave[j+1].letra) { auxiliar.letra=transposicao.chave[j].letra; auxiliar.indice=transposicao.chave[j].indice; transposicao.chave[j].letra=transposicao.chave[j+1].letra; transposicao.chave[j].indice=transposicao.chave[j+1].indice; transposicao.chave[j+1].letra=auxiliar.letra; transposicao.chave[j+1].indice=auxiliar.indice; } } } printf("\n\nChave ordenada.\n"); system("pause"); for(i=0; i<3; i++) { printf("\n\nLetra %d = %c\n",i,transposicao.chave[i].letra); printf("Indice %d = %d",i,transposicao.chave[i].indice); } printf("\n\nChave ordenada mostrada.\n\n"); system("pause"); for(i=0;i<3;i++){ m=transposicao.chave[i].indice; for(j=0;j<2;j++){ printf("%c",matriztexto[j][m]); } } printf("Texto codificado."); system("pause"); return 0; } EDITADO: Percebi o que esta acontecendo, quando eu salvo o texto na minha matriz e depois imprimo a mesma matriz, o texto sai certo, mas se eu imprimo casa por casa o texto sai errado. ex matriz[0] [1] por exemplo sai diferente do que se eu imprimir matriz[j]
  7. Show Ansic, Identação , organização perfeita!Vou estudar seu codigo. Consegui implementar a lista, mas estou procurando outras formas tambem. adicionado 3 minutos depois Muito obrigado, vou seguir suas recomendações. Tem uma função que me foi passada: a fflush(stdin); funciona direto, é a mesma né? Estou trabalhando nessa parte da api. Daqui algumas semanas eu posto um codigo bem legal que montei.
  8. @giu_d. Sempre é valido toda a informação passada,muito obrigado. Estou a pouco tempo cursando analises, então é bom não pegar vicios que fazem o codigo não fluir de forma pratica. Quanto a primeira informação. Deixa eu entender: Eu estou recebendo minha lista como parametro de referencia, e estou alterando ela com uma variavel interna isso né? você diz que é mais pratico, receber essa lista ainda como parametro, só que retornar essa mesma lista, isso? Se sim, eu mandando ela como parametro, ela não atualizaria sempre tambem? Quanto a alocaçao eu arrumei o codigo, Agora somente quando eu insiro um novo elemento eu reservo um espaço na memoria. Eu aloquei tambem um espaço para o INICIO por pensar que para existir a lista eu necessitaria criar ela, com o inicio recebendo um espaço, parecido com o que eu fiz na lista estatica. Estou na duvida agora.... CODIGO CORRIGIDO: Se puderem conferir se ficou certo. Gosto muito de receber criticas construtivas, vai me ajudar no futuro, então se puderem ver o que posso melhorar: OBS: ainda não finalizei o Inserir meio. #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <stdbool.h> int saida=0; bool primeiro=false; typedef struct Elemento { char pais[10]; struct Elemento *proximo; } TIPO_ELEMENTO; TIPO_ELEMENTO *inicio; void criar_cadeia() { if(saida==0) { inicio=malloc(sizeof(TIPO_ELEMENTO)); inicio->proximo=NULL; printf("Cadeia criada com sucesso\n\n"); saida=1; } else { printf("Cadeia ja foi criada\n\n"); } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } void inserir_inicio(TIPO_ELEMENTO *inicio) { SetConsoleTitle("INSERIR INICIO"); if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { char nome[10]; TIPO_ELEMENTO *novo_elemento=malloc(sizeof(TIPO_ELEMENTO)); printf("\n\nDigite o pais: "); scanf("%s",novo_elemento->pais); if(inicio->proximo==NULL) { novo_elemento->proximo=NULL; } else { novo_elemento->proximo=inicio->proximo; } inicio->proximo=novo_elemento; } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } void inserir_meio(TIPO_ELEMENTO *inicio){ if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { int pos=0; printf("Digite uma posicao:"); scanf(" %d",&pos); } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } void inserir_final(TIPO_ELEMENTO *inicio) { if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { char nome[10]; TIPO_ELEMENTO *novo_elemento=malloc(sizeof(TIPO_ELEMENTO)); novo_elemento->proximo=NULL; TIPO_ELEMENTO *auxiliar=inicio; printf("\n\nDigite o pais: "); scanf("%s",novo_elemento->pais); if(inicio->proximo==NULL)//se a lista não tiver cadastro ainda { inicio->proximo=novo_elemento; } else { while(auxiliar->proximo!=NULL) { auxiliar=auxiliar->proximo; if(auxiliar->proximo==NULL) { auxiliar->proximo=novo_elemento; return; } } } } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } int quantidade(TIPO_ELEMENTO *lista) { int qtd=0; if(saida==0) { return 0; } else { TIPO_ELEMENTO *list=lista; while(list->proximo!=NULL) { qtd++; list=list->proximo; } return qtd; } } void listar_lista(TIPO_ELEMENTO *lista)//conferido certo começa no primeiro elemento, e quando null da break { if(saida==0){ printf("\n\nCrie o encadeamento primeiro"); }else{ int i=1; TIPO_ELEMENTO *list=lista->proximo; while(list!=NULL) { printf("\n\n\tCadastro %d\n\n",i); printf("Nome do pais: %s\n",list->pais); i++; list=list->proximo; } } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } void menu() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; SetConsoleTitle("MENU"); int op; do{ system("cls"); printf("\n\n\t\t\t\t\t"); SetConsoleTextAttribute(hConsole, BACKGROUND_GREEN); printf("Cadastros feitos ate o momento: %d\n\n\n",quantidade(inicio)); SetConsoleTextAttribute(hConsole, saved_attributes); printf("1 - criar encadeamento\n\n"); printf("2 - Inserir no inicio\n\n"); printf("3 - Inserir no meio\n\n"); printf("4 - Inserir no fim\n\n"); printf("5 - Retirar do inicio\n\n"); printf("6 - Retirar do meio\n\n"); printf("7 - Retirar do fim\n\n"); printf("8 - Buscar\n\n"); printf("9 - Listar \n\n"); printf("10 - Destruir \n\n"); printf("11 - Sair \n\n"); printf("Digite a opcao desejada: "); scanf("%d",&op); system("cls"); switch(op) { case 1: criar_cadeia(); break; case 2: inserir_inicio(inicio); break; case 3: inserir_meio(inicio); break; case 4: inserir_final(inicio); break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: listar_lista(inicio); break; case 10: if(saida==0){ printf("\n\nNao existe lista para destruir."); }else{ free(inicio); saida=0; printf("\n\nLista destruida."); } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); break; case 11: exit(0); break; } } while(1); } int main() { system("mode con:cols=115 lines=35"); menu(); system("pause"); return 0; }
  9. Pessoal, conferem ai, acho que eu to errando na atribuição do inicio. EU mando uma variavel copia percorrer a lista mas não mando o inicio realmente de volta.
  10. #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <stdbool.h> int saida=0; bool primeiro=false; typedef struct Elemento { char pais[10]; struct Elemento *proximo; } TIPO_ELEMENTO; TIPO_ELEMENTO *inicio; TIPO_ELEMENTO *navegador; TIPO_ELEMENTO *fim; void criar_cadeia() { if(saida==0) { inicio=malloc(sizeof(TIPO_ELEMENTO)); inicio->proximo=NULL; navegador=malloc(sizeof(TIPO_ELEMENTO)); navegador->proximo=NULL; printf("Cadeia criada com sucesso\n\n"); saida=1; } else { printf("Cadeia ja foi criada\n\n"); } printf("Pressione ENTER para continuar"); system("pause>NULL"); } void inserir_inicio(TIPO_ELEMENTO *inicio) { SetConsoleTitle("INSERIR INICIO"); if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { char nome[10]; TIPO_ELEMENTO *novo_elemento=malloc(sizeof(TIPO_ELEMENTO)); printf("\n\nDigite o pais: "); scanf("%s",novo_elemento->pais); inicio->proximo=novo_elemento; novo_elemento->proximo=navegador; navegador=novo_elemento; } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } void inserir_final(TIPO_ELEMENTO *lista) { SetConsoleTitle("INSERIR FINAL"); TIPO_ELEMENTO *inicio=lista->proximo; if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { char nome[10]; TIPO_ELEMENTO *novo_elemento=malloc(sizeof(TIPO_ELEMENTO)); printf("\n\nDigite o pais: "); scanf("%s",novo_elemento->pais); novo_elemento->proximo=NULL; if(lista==NULL){ novo_elemento->proximo=NULL; lista=novo_elemento; }else{ while(inicio!= NULL) { if(inicio->proximo == NULL) { inicio->proximo=novo_elemento; return; } inicio=inicio->proximo; } } } } int quantidade(TIPO_ELEMENTO *lista) { int qtd=0; if(saida==0) { return 0; } else { TIPO_ELEMENTO *list=lista->proximo; while(list!=NULL) { if(list->proximo==NULL) { return qtd; } qtd++; list=list->proximo; } } } void listar_lista(TIPO_ELEMENTO *lista)//conferido certo começa no primeiro elemento, e quando null da break { int i=1; TIPO_ELEMENTO *list=lista->proximo; while(list!=NULL) { printf("\n\n\tCadastro %d\n\n",i); printf("Nome do pais: %s\n",list->pais); i++; list=list->proximo; if(list->proximo==NULL) { break; } } printf("\n\n\n\n\t\t\t\tPressione ENTER para continuar"); system("pause>NULL"); } int menu() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO consoleInfo; WORD saved_attributes; GetConsoleScreenBufferInfo(hConsole, &consoleInfo); saved_attributes = consoleInfo.wAttributes; SetConsoleTitle("MENU"); int op; system("cls"); printf("\n\n\t\t\t\t\t"); SetConsoleTextAttribute(hConsole, BACKGROUND_GREEN); printf("Cadastros feitos ate o momento: %d\n\n\n",quantidade(inicio)); SetConsoleTextAttribute(hConsole, saved_attributes); printf("1 - criar encadeamento\n\n"); printf("2 - Inserir no inicio\n\n"); printf("3 - Inserir no meio\n\n"); printf("4 - Inserir no fim\n\n"); printf("5 - Retirar do inicio\n\n"); printf("6 - Retirar do meio\n\n"); printf("7 - Retirar do fim\n\n"); printf("8 - Buscar\n\n"); printf("9 - Listar \n\n"); printf("10 - Sair \n\n"); printf("Digite a opcao desejada: "); scanf("%d",&op); system("cls"); return op; } int main() { system("mode con:cols=115 lines=35"); int op; do { system("cls"); op=menu(); switch(op) { case 1: criar_cadeia(); break; case 2: inserir_inicio(inicio); break; case 3: break; case 4: inserir_final(inicio); break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: listar_lista(inicio); break; case 10: exit(0); break; } } while(1); system("pause"); return 0; } Desculpe Ansic, o que eu poderia melhorar nessa parte de estrutura do codigo? E porque não estou conseguindo printar quando eu adiciono no final?No inserir inicio da tudo certo..
  11. [DUVIDA] - Lista dinamica(encadeada). Estou com duvidas nessa lista, parei na parte de inserção no fim. Quando eu insiro no fim e imprimo, só aparece caracteres estranhos. No inserir inicio imprime normalmente: essa função recebe o meu ponteiro inicio! void inserir_final(TIPO_ELEMENTO *lista) { SetConsoleTitle("INSERIR FINAL"); TIPO_ELEMENTO *inicio=lista->proximo; if(saida==0) { printf("\n\nCrie o encadeamento primeiro"); } else { char nome[10]; TIPO_ELEMENTO *novo_elemento=malloc(sizeof(TIPO_ELEMENTO)); printf("\n\nDigite o pais: "); scanf("%s",novo_elemento->pais); novo_elemento->proximo=NULL; while(inicio!= NULL) { if(inicio->proximo == NULL) { inicio->proximo=novo_elemento; return; } inicio=inicio->proximo; } } }
  12. Obrigado por responder e desculpe a demora @vangodp. O problema era que eu estava passando parametro errado mesmo, Eu recebia o endereço da lista, e queria passar o endereço do endereço da lista, ai não dava mesmo kk. valeu mesmo. Consegui terminar a lista.
  13. Ola amigos. Estou com um problema para criar uma lista estatica. Preciso criar uma função criar_lista que reserve um espaço da memoria com o malloc e zere os atributos qtd da lista e idade de todos do meu vetor. Eu tinha feito o codigo sem o malloc, e estava rodando certo. Agora q decidi coloca-lo, estou tendo erro quando chamo a função inserir_final na opção 4 do menu. O programa fecha sem acusar erro, provavelmente estou passando parametro errado, mas n sei qual. A função criar lista não precisa ser necessariamente VOID, eu tinha feito antes de usar o malloc.... Onde estou errando? #include <stdio.h> #include <stdlib.h> #define N 10// essa constante comanda o tamanho do meu vetor de pessoas do tipo pessoa typedef struct // uma struct que guarda dados como nome e idade de uma pessoa { char nome[10]; char idade[2]; } TIPO_PESSOA; typedef struct // outra struct que guarda a quantidade de elementos e o tamanho da lista { TIPO_PESSOA vetor[N]; int qtd; } TIPO_LISTA; void criar_lista(TIPO_LISTA *list) { //list=malloc(sizeof(TIPO_LISTA)); //if(list != NULL){//se ainda tiver memoria list->qtd = 0; // printf("\n\n\nLista criada com sucesso\n"); //}else{ //printf("\n\n\nLista nao foi criada\n"); //} } void inserir_final(TIPO_LISTA *list,TIPO_PESSOA ps) //aqui eu vou inserir uma ps(pessoa) { fflush(stdin); list->vetor[list->qtd]=ps;//vou na minha lista e vou no vetor e uso o qtd para comandar ele e vai receber uma ps list->qtd=list->qtd+1;// aqui vou na minha qtd q esta na lista e adiciono o qtd+1 } int menu() { int op=0; printf("\n\n\t\t\t\t\t\t\tMenu principal\n\n\n"); printf("1 - Criar Lista\n\n"); printf("2 - Inserir no inicio\n\n"); printf("3 - Inserir no meio\n\n"); printf("4 - Inserir no final\n\n"); printf("5 - Buscar por posicao\n\n"); printf("6 - Listar os cadastros feitos\n\n"); printf("8 - Sair\n\n\n"); printf("Digite uma opcao: "); fflush(stdin); scanf("%d",&op); return op; } int main() { system("mode con:cols=115 lines=40"); TIPO_PESSOA pessoa; TIPO_LISTA lista; int op; do { op=menu(); switch(op) { case 1: system("cls"); criar_lista(&lista); break; case 2: break; case 3: break; case 4: system("cls"); printf("\n\n\nDigite o nome: "); scanf("%s",pessoa.nome);//nome ja é um ponteiro entao n precisa de endereço para atribuir printf("Digite a idade: "); scanf(" %d",&pessoa.idade);// ponto porque é uma variavel normal inserir_final(&lista,pessoa); break; } system("pause"); system("cls"); } while(op!=8); system("pause"); return 0; }
  14. AnsiC como não conheço muito a estrutura das funções para trabalhar com o mouse e que conflito pode ter ocorrido quando usa a messagebox, achei essa solução, que não é solução mas por enquanto não achei outro metodo, o projeto é da faculdade. Como o messagebox executava uma vez, voltava e executava novamente, eu fiz com depois que ele recebesse o SIM ou NAO, ele chamasse uma função copia com parametros, da minha função atual. Assim eu conseguiria interromper esse conflito... bati a cabeça e não achei outro jeito.
  15. Pois é Ansic. Rodei ele sem o resto do meu codigo e funcionou. Tem algo no meu codigo q esta relacionado. Estou usando a api do windows para usar meu mouse. Talvez esteja relacionado a isso... Sabe se tem outra função para exibir caixa de mensagens?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×