Ir ao conteúdo
  • Cadastre-se

Leonardo Ely

Membro Pleno
  • Posts

    59
  • Cadastrado em

  • Última visita

Reputação

20
  1. @PlayerUzumaki com esse processador vai manter o fps instável né? Qual dos processadores citados é melhor na tua opinião?
  2. Boa tarde galera, estou querendo fechar um setup pra conseguir gravar e jogar ao mesmo tempo (inclusive lives), sem nenhum problema com queda de FPS. Um dos games que jogo é o CS:GO e com meu setup atual o fps fica numa média de 130-180 (sem gravar), só que quando coloco pra gravar cai pra 50-80, "deveria" dar pra jogar com esse fps pois com meu antigo setup era isso e eu conseguia, creio que o problema está sendo o processador não aguentar. OBS: Já peguei uma fonte mais forte, com o intuito de fazer upgrades no PC então isso não será um problema se trocar as peças. --- Fonte: Corsair CV550 550W placa-mãe: ASRock H110M-HG4, DDR4 Processador: Processador Intel Pentium G4560, Cache 3MB, 3.5Ghz Memória RAM: Memória Crucial Ballistix Sport LT, 8 GB (2X4), 2400MHz, DDR4 Placa de Vídeo: EVGA GTX 1050 2GB DDR5 -- A placa de vídeo acredito que não tenho necessidade de trocar pra rodar os games gravando, por que sem gravar roda tudo liso. Creio que o processador não esteja aguentando é isso? Gostaria de gastar até uns R$2500,00 reais pra poder jogar gravando sem problemas de FPS, já ouvi falar de placa de captura é recomendável? Podem recomendar uma placa-mãe e um processador top, pra rodar junto de uma futura placa de vídeo forte (que é a ideia, mas acredito conseguir usar essa mais um tempo). Em relação as memórias RAM até não penso em trocar no momento por ser DDR4 vai servir na próxima placa-mãe (sei que isso pode ajudar).
  3. @IgorAlexandre Entendi, na verdade pensei na ideia de futuramente sei la por exemplo colocar uma placa de captura no computador, dali a pouco pegar uma placa de vídeo mais forte e por aí vai.. Ai pensei já numa fonte mais fortezinha pra não precisar trocar futuramente. Mas agradeço pela ajuda só me diz das placas-mãe que citei a ASRock é melhor certo?
  4. @IgorAlexandre Agradeço, os dois processadores parecem ser bem semelhantes é isso? A fonte vou recomendar igual a minha uma CV550 https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=108257 Ou uma EVGA https://www.kabum.com.br/produto/79112/fonte-evga-600w-80-plus-white-100-w1-0600-k
  5. Opa boa noite galera, quero uma ajudinha pra averiguar se este setup que estou montando pro meu amigo está legal. A ideia é gastar no máximo R$4.000 reais, pra montar um pc pra rodar os games liso e tambem podendo gravar vídeos com um programa de captura enquanto joga sem ter aquela perda drástica de FPS enquanto está gravando. A fonte ele já tem, é uma Gamemax 650w gp 650 80 plus bronze. Placa-mãe: Asus EX-A320M-Gaming, AMD AM4, mATX, DDR4 https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=95677&gclid=CjwKCAiA17P9BRB2EiwAMvwNyBHGiNwGyPxV3EmwIbi-fLIGlV93W0sJtuTtx8zjeHm5mFmZaYHkyBoCgjoQAvD_BwE EDIT--- Tava olhando que essa placa-mãe aí de cima da Asus acho que não aguentaria o processador, e se aguentar não consegue usar os 2933Mhz máximo dele Aí olhei essa outra placa-mãe acho que vai dar certinho: ASRock B450M Steel Legend, AMD AM4, mATX, DDR4 https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=100672 --- Processador: AMD Ryzen 5 3400G, Cache 6MB, 3.7GHz (4.2GHz Max Turbo), AM4 https://www.kabum.com.br/produto/102249/processador-amd-ryzen-5-3400g-cache-6mb-3-7ghz-4-2ghz-max-turbo-am4-yd3400c5fhbox?gclid=CjwKCAiA17P9BRB2EiwAMvwNyAJ-bHUZg79jrrqFJMdQAVyy6xarb3ttpdESYJqprxFh9bvNhbj72hoCM4cQAvD_BwE Memória RAM: Memória XPG Gammix D10, 16GB (2x8GB), 3000MHz, DDR4, CL16 - AX4U300038G16A-DB10 https://www.kabum.com.br/produto/110703/memoria-xpg-gammix-d10-16gb-2x8gb-3000mhz-ddr4-cl16-ax4u300038g16a-db10?gclid=CjwKCAiA17P9BRB2EiwAMvwNyOINNzG7n9dmnLOujAaUsgD0jQwfLHZh9ARGCBAtP4dVdgwTKNahCBoCFrkQAvD_BwE Placa de vídeo: Estou em dúvida entre duas, mas acredito que no fim por ser GDDR6 a EVGA sejá melhor GeForce GTX 1650 Super XC Black Gaming, 4GB, GDDR6 - 04G-P4-1251-KR https://www.kabum.com.br/produto/113183/placa-de-v-deo-evga-nvidia-geforce-gtx-1650-super-xc-black-gaming-4gb-gddr6-04g-p4-1251-kr e Sapphire Pulse Lite Edition AMD RX 580, 8GB, GDDR5 - 11265-67-20G https://www.kabum.com.br/cgi-local/site/produtos/descricao_ofertas.cgi?codigo=115218
  6. @arfneto Opa boa tarde desculpe a demora pra responder, assim falei com a professora ontem e ela me passou que eu tenho de transformar o arquivo .csv em um arquivo binário pra assim separar os dados nas estruturas, assim como mostrei pra ela não sendo em arquivo em binário ela me falou que pula alguns caracteres na hora do uso da função strtok. Mas enfim eu comecei outro programa de testes com um arquivo normal .txt (no lugar do arquivo .csv) com umas palavras no qual eu abro ele e transformo em binário e nisso gera um arquivo de saída .bin, depois abro ele novamente e transformo de volta em .txt pra ver realmente saber se fiz tudo corretamente na hora que transformei em binário. Se eu usar o comando printf após abrir o arquivo binário com o fread ele vem corretamente o que estava escrito no programa, só que na hora que eu gero novamente a saída do arquivo .txt (final2.txt) ele volta a mesma coisa que estava no arquivo binario (final.bin). Entendo que utilizei uma váriavel grande de 200 posiçoes (text[200]) e ela não é totalmente preenchida acredito que seja por isso, mas como eu posso fazer pra realmente na transformação de volta para .txt o arquivo (final2.txt) fique exatamente igual ao arquivo teste.txt? Segue o código: #define __AMOSTRA__ 20 #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <locale.h> void converte_bin(char *arquivo) { char text[200]; int total; printf("Convertendo arquivo...\n"); FILE * arq_csv = fopen(arquivo, "r"); if (arq_csv == NULL) { printf("Problemas na criacao do arquivo dados.\n"); exit(0); } while (fgets(text, 200, arq_csv) != NULL) { printf("%s\n", text); } FILE * arq_bin = fopen("final.bin", "wb"); fread(text,sizeof(char),200,arq_csv); printf("2%s\n", text); fwrite(text , sizeof(char), 200 , arq_bin ); if (total != 200) { printf("Erro ao abrir arquivo\n"); exit(0); } fclose(arq_bin); fclose(arq_csv); } /*void converte_txt(char *arquivo) { printf("Convertendo arquivo...\n"); char text[200]; FILE * arq_bin = fopen(arquivo, "rb"); if (!arq_bin) { printf("Erro ao abrir arquivo\n"); exit(0); } FILE * arq_txt = fopen("final2.txt", "w"); fread(text,sizeof(char),200,arq_bin); printf("teste: %s\n",text); fwrite(text , 1 , sizeof(text) , arq_txt ); fclose(arq_bin); fclose(arq_txt); }*/ /////////////////////////////////////////////////////////////////// int main(void) { setlocale(LC_ALL, "Portuguese"); converte_bin("teste.txt"); //converte_txt("final.bin"); printf("chegou aqui"); return 0; }; Vou mandar o mesmo arquivo que utilizei pra ser feito o mesmo teste, a função converte_txt está em comentário, primeiro tem que executar com o converte_bin, ai colocar a função converte_bin em comentário e tirar de comentário a converte_txt pra rodar. teste.txt
  7. @arfneto Segue na imagem do que está aparecendo no momento que compilo, no meu ver acredito que se bem ajustado os comandos fgets ,fread e fseek vai rodar certinho, mas como nunca usei eles não sei o que pode estar errado.. Já fiz uma função busca binária pelo id acredito estar certa por mais simples que está o gerador de id e a própria busca_binaria. Analisando o código compilado acredito que dá pra utilizar aquele arquivo .csv que extrai do docs google por olha ali ele parece querer pegar as partes creio esta mal configurado pois não tenho conhecimento exato dos comandos, o que você pode me dizer? Segue o código até o momento: #define __AMOSTRA__ 20 #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <locale.h> typedef struct { int id; char usuario[20]; char mensagem[280]; char data[10]; char pais[20]; char hashtags[200]; } Info; int pos_id[__AMOSTRA__]; int id_pos[__AMOSTRA__]; Info* fabrica(int, FILE *dados); int mostra_um(Info*); int aux = 0; int main(void) { setlocale(LC_ALL, "Portuguese"); FILE * arquivo = NULL; arquivo = fopen("registros_twitter.csv", "rt"); if (arquivo == NULL) { printf("Problemas na criacao do arquivo dados.\n"); return 0; } printf("Tamanho da struct Info: %zd\n", sizeof(Info)); Info* teste = fabrica(20201021, arquivo); // reset // gera 3 registros so pra ver int i; for (i = 0; i < __AMOSTRA__; i += 1) { teste = fabrica(0, arquivo); mostra_um(teste); // nao precisa mais desse free(teste); }; busca_binaria(4, teste); printf("chegou aqui"); return 0; }; int busca_binaria(int search) { int c, primeiro, ultimo, meio; Info * teste; printf("Digite id para busca:\n"); scanf("%d", &search); primeiro = 0; ultimo = aux - 1; meio = (primeiro + ultimo) / 2; while (primeiro <= ultimo) { if ( id_pos[meio] < search) { primeiro = meio + 1; } else if (id_pos[meio] == search) { printf("%d encontrado na posição %d\n",search, meio+1); return search; } else ultimo = meio - 1; meio = (primeiro + ultimo) / 2; } if (primeiro > ultimo) { printf ("Não existe! %d não está na lista.\n", search); getch(); } } Info* fabrica(int reset, FILE *arq) { // prototipos para as hastags /* const static char* tags[5] = { { "#teste #hashum #zero"}, { "#teste"}, { "#teste #hashum #dois"}, { "#valor #hash #tres"}, { "#hashum #zero"} }; */ int a; static char linha[50]; if (reset != 0) { srand(reset); return NULL; }; Info* novo = (Info*)malloc(sizeof(Info)); // cria um novo Info (registro) toda vez que for chamado no main novo->id = aux; id_pos[aux] = novo->id; // coloca os ids no vetor id_pos[aux] em ordem aux = aux + 1; // preenche o id 0,1,2,3,4 //fazer teste aqui pra não criar outro id pra um mesmo usuário que enviou mais de uma msg char *result; result = fgets(novo->usuario, sizeof(novo), arq); fseek(arq,(1 * sizeof(novo->usuario)), SEEK_SET); fread(&arq,sizeof(char),2,arq); printf("%s", novo->usuario); /* printf(novo->usuario, "Usuario %5d", rand()); sprintf(novo->mensagem, "Mensagem %5d", rand()); // data sprintf(novo->data, "%02d%02d%04d", 1+rand()%28, 1+rand()%12, 2018+rand()%2); // pais sprintf(novo->pais, "Pais %5d", rand()); // ecolhe um dos 5 conjuntos de hashtags sprintf(novo->hashtags, "%s", tags[rand()%5]);*/ return novo; }; // fabrica() int mostra_um(Info* um) { printf("\n=====>'id: '%d'\n\n", um->id); printf("\t%10s: ..... '%s'\n", "Usuario", um->usuario); printf("\t%10s: ..... '%s'\n", "mensagem", um->mensagem); printf("\t%10s: ..... '%s'\n", "data", um->data); printf("\t%10s: ..... '%s'\n", "pais", um->pais); printf("\t%10s: ..... '%s'\n\n\n", "hashtags", um->hashtags); return 1; }; Vou deixar o arquivo registros_twitter.csv como anexo pra você ver.. registros_twitter.csv
  8. @arfneto Agradeço desde já pelo último código de exemplo tudo já ficou mais facilitado pra mim entender mas ainda falta uma caminhada. Só deixa eu tentar entender mais claramente na função fábrica.. Você pode me explicar mais detalhado? Por exemplo o novo->id = rand () % 10000 pega um numero aleatorio dos 10000 registros e poe um id, mas isso não tem como se repetir se for pegar todas as 10000 posições? E tambem pensando na ordenação se fosse fazer cada vez que passase por aí uma variavel int auxiliar, não poderia ser feito novo->id = auxiliar + 1? Evitando ter que ordenar os ids? Pois já taria ordenando os ids em ordem.. É claro que dentro disso terá que ser feito outra parte para não repetir um mesmo usuário aí seria registrada uma outra mensagem com o mesmo id.. Está certo a linha de raciocínio? Info* fabrica(int reset) { // prototipos para as hastags const static char* tags[5] = { { "#teste #hashum #zero"}, { "#teste"}, { "#teste #hashum #dois"}, { "#valor #hash #tres"}, { "#hashum #zero"} }; int a; static char linha[50]; if (reset != 0) { srand(reset); return NULL; }; // cria um novo Info Info* novo = (Info*)malloc(sizeof(Info)); // preenche novo->id = rand() % 10000; sprintf(novo->usuario, "Usuario %5d", rand()); sprintf(novo->mensagem, "Mensagem %5d", rand()); // data sprintf(novo->data, "%02d%02d%04d", 1+rand()%28, 1+rand()%12, 2018+rand()%2); // pais sprintf(novo->pais, "Pais %5d", rand()); // ecolhe um dos 5 conjuntos de hashtags sprintf(novo->hashtags, "%s", tags[rand()%5]); return novo; }; // fabrica()
  9. Sim na verdade salvei um em .csv separado por vírgula (única opção que tinha em .csv do excel) e salvei de novo do arquivo principal do excel em .txt (separado por espaços como dizia o programa) Não entendi o que quis dizer registros_twitter - Archive.csv Gerei outros registros no link que citei: Agora exportei diretamente dali, só que as letras especiais não reconhecem (não é um problema), mas está tudo separado por virgula agora.
  10. Esse é o link que consegui todos dados: por busca principal a hashtag #eleicoes2020 https://docs.google.com/spreadsheets/d/1H8lN1Y13MOhgTHc_lt7-sGyy9JWf-MeEeKzb7eH7s-M/copy No vídeo abaixo ensina como extrair facilmente, no caso eu peguei copiei e joguei no excel talvez tenha sido esse o problema, pois o site oferece a opção de exportar diretamente no computador. No anexo tem 15 mil registros que peguei do link ali em cima. Sim por isso mostrei só 5 registros, porém estava da maneira incorreta. Ok pronto_excel.xlsx
  11. @arfneto Li sim, entendi que é só uma noção prévia o código que tu mandou mais acima. Não entendi realmente ainda o que tem de errado no arquivo csv. Entendi sim sobre os dois vetores, como foi falado um irá por ordem de entrada de id e outro irá ordenadar os ids por insertion sort. Não ainda não programei mais como falei estou meio sei lá não sei realmente como começar, parece que todas maneiras que faço 10% está no caminho e o resto é desnecessário, as aulas como no momento estão sendo online e só sendo basicamente enfiado conteúdo teórico goela a baixo sem exemplos ao vivo de implementação está sendo quase impossível de absorver algo (quando se trata de programar), mas não vem ao caso isso, só que já estou desistindo. Esse é o maior problema como só sei programar em C e SQL(que não se cabe no exercício) no momento ainda tenho muita dificuldade quando aprofundasse um pouco na linguagem, eu sei que consigo mas sem um auxílio de alguem experiente não consigo fazer fluir, as vezes uma vírgula atrapalha assim como está função: Utilizei ela uma vez só nesse formato de um exemplo e me deu uma tremenda dor de cabeça por ser diferente da maneira que eu faço, quando tentei implementar ela em outros exercícios então não sabia nem onde eu estava. Me atrapalho fácil assim.. Qual a diferença da citada acima pra uma função normal com void fabrica(int reset){}; ?... Segue o exercício completo que não mandei pra entender melhor Trabalho I - 2020-4 - Arquivos Sequenciais Indexados (5).pdf
  12. Sinceramente consigo entender tudo que vocês me explicam e o que a princípio eu teria que fazer mas na hora de implementar não consigo fazer nada fico parado e bloqueado. Mas me diz dentro dessa parte que eu deveria fazer a abertura do arquivo? Onde quando for NULL inserir os primeiros dados e quando for diferente de NULL inserir o resto?
  13. Boa noite galera, estou o dia inteiro tentando fazer a abertura de um arquivo .csv no qual os dados lidos devem ser colocados em uma struct. Lembrando também que a variável id_twitter tem que ser usada como chave primária, pra não gerar um novo id pra um mesmo usuário que estiver no arquivo csv. Até o momento fiz isso, já vi tudo quanto é vídeo tentei de tudo todo dia e tive progresso já estou saturado, mas vamos lá. Pra eu registrar um id primeiramente eu teria que preencher um nodo com suas info (usuario,mensagem,data,local) pra que por fim compará-lo com os próximos nodos que forem gerados e não acabar criando um novo id caso um mesmo usuário apareça novamente no arquivo .csv Até o momento entendi que o fseek serve pra setar a posição que irá começar a ler o arquivo (na minha teoria até o momento "0", mas creio não estou correto) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> struct info{ char usuario[20]; char mensagem[280]; char data [8]; char local[20]; int id_twitter; struct info *prox; }; void le_dados (FILE *dados) { struct info i; char *result; result = fgets(i.usuario, sizeof(i.usuario), dados); fseek(dados,0, SEEK_SET); fread(&i,sizeof(result),1,dados); printf("%s", i.usuario); } int main( int argc, char ** argv ) { setlocale(LC_ALL, "Portuguese"); FILE * dados = NULL; dados = fopen("teste.csv", "rt"); if (dados == NULL) { printf("Problemas na criacao do arquivo dados.\n"); return 0; } le_dados(dados); fclose(dados); return 0; } Atividade: Segue o dois arquivos iguais um é .txt e outro é .csv separado por ; porém no exercício foi citado que não pode ter separadores mas era o único jeito que consegui ter algum progresso com meus testes. Preciso muito de ajuda é serio agradeço desde já! arquivo-texto.txt csv-separado-virgula.csv
  14. Qualidade do adaptador ficou horrível perdeu toda qualidade do som, restaurei as configurações padrão na BIOS e o som funciona normal nos conectores P2 (3,5 mm) por algum tempo (segundos) depois fica mudo de novo, e aí fico pensando se isso tem haver com algum malware? Até por que já formatei umas 3 vezes.. Já perdi as esperanças a única dica que dou se alguem tiver esse problema é que compre um HeadSet com porta USB pois eles tem placa de som própria então terá uma boa qualidade..
  15. placa-mãe asrock h310m-hg4 DDR4 Processador: intel(R) pentium(R) Pentium g4560 3.5ghz Placa de video ATI Radeon 6670 DDR3 2gb Fonte: Corsair CV550 placa-mãe que será colocada: Geforce GTX 1050 2GB GDDR5 adicionado 9 minutos depois Se alguem tiver o mesmo problema acabei resolvendo comprando um adaptador com placa de som, no meu caso headset com porta USB funcionaria, mas como meu headset é entradas p2 tive que comprar um adaptador com placa de som e agora está tudo certo.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...