Ir para conteúdo
Fórum Script Brasil

Bruno Peinado

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Bruno Peinado

Bruno Peinado's Achievements

0

Reputação

  1. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(function(){ //.click é um script que executa ao clicar em um determinado botao //note que no formulario tem um button com id "btn" //nesse caso o btn é executado $("#sete").click(function(value){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + value; }); $("#oito").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 8; }); $("#nove").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 9; }); $("#zero").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 0; }); $("#um").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 1; }); $("#dois").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 2; }); $("#tres").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 3; }); $("#quatro").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 4; }); $("#cinco").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 5; }); $("#seis").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 6; }); $("#subtracao").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "subtracao"; }); $("#soma").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "soma"; }); $("#divisao").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "divisao"; }); $("#exp").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "exp"; }); $("#multiplicar").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "multiplicar"; }); $("#dectobin").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "dectobin"; }); $("#bintodec").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "bintodec"; }); $("#raiz").click(function(){ var salvo = document.calc.visor.value; var teste = /soma|multiplicar|subtracao|divisao|exp|dectobin|bintodec|raiz/; var compara = salvo.search(teste); if (compara != -1) document.calc.visor.value = ""; else document.calc.visor.value = salvo + "raiz"; }); $("#clear").click(function(){ document.calc.visor.value = ""; }); $("#btn").click(function(){ //Aqui estamos recuperando os valores do formulario var visor = $("textarea[name=visor]").val(); $.ajax({ //finalmente estamos enviado magicamente //para o php type: "POST", data: { string_visor:visor }, url: "calculadora.php", dataType: "html", success: function(result){ //a funcao sucess recebe o retorno do php //importante que esse retorno é do tipo //html porque foi definido no dataType $("#content").html(''); $("#content").append(result); //append joga o resultado em content document.calc.visor.value = (result); }, //beforeSend – Ele recebe uma função, que vai ser //executada assim que a requisição for enviada, //veja que estou mostrando a div de carregamento. beforeSend: function(){ $('#loading').css({display:"block"}); }, complete: function(msg){ $('#loading').css({display:"none"}); } //diferença de complete e sucess //sucess somente é executado quando funciona //complete executa sempre, mesmoque não funcione }); }); }); </script> <form name="calc"> <textarea name="visor" cols="30" rows="4" readonly="readonly"></textarea> <br /> <BR> <table width="315" border="0" cellpadding="10" cellspacing="2"> <tr> <td width="97"><p> <input type="button" value="7" button id="sete"/> <input type="button" value="8" button id="oito"/> <input type="button" value="9" button id="nove"/> <input type="button" value="4" button id="quatro"/> <input type="button" value="5" button id="cinco"/> <input type="button" value="6" button id="seis"/> <input type="button" value="1" button id="um"/> <input type="button" value="2" button id="dois"/> <input type="button" value="3" button id="tres"/> <input type="button" value="0" button id="zero"/> </td> <td width="172"><p> <input type="button" value="soma" button id="soma"/> <input type="button" value="divisao" button id="divisao"/> <input type="button" value="exp" button id="exp"/> <input type="button" value="multiplicar" button id="multiplicar"/> <input type="button" value="subtracao" button id="subtracao"/> <input type="button" value="raiz" button id="raiz"/> <input type="button" value="bintodec" button id="bintodec"/> <input type="button" value="dectobin" button id="dectobin"/> </p></td> </tr> <tr> <td> <input type="button" value="=" button id="btn"/> <input type="button" value="CE" button id="clear"/></td> <td>&nbsp;</td> </tr> </table> </form> <BR /> <!-- Importante entender essa id="btn", isso é uma identificação para o script acima --> <div id="loading" style="display: none;">Calculando. Por favor, Aguarde!</div> <div id="content"></div> Pessoal, ali na linha em vermelho. $("#oito").click(function(){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + 8; Eu queria tirar o +8 e colocar o value do button <input type="button" value="8" button id="oito"/> Eu tentei assim $("#oito").click(function(value){ var salvo = document.calc.visor.value; document.calc.visor.value = salvo + value; mas o value não pega o value=8 do meu button, como que eu faço pra pegar o value ? Vocês podem ver que eu fiz uma coisa bem besta, usei repeti uma função pra cada numero 0,1,2,3,4,5,6,7,8,9. Eu sei que tem como deixar uma unica função genérica pro value, essa é a ideia mas eu não sei como.
  2. Tenho o seguinte código: Ele lê bilhões de linhas de um arquivo txt. Faz comparações e le outras linhas. Se alguém quiser executar: gcc -o thread -lpthread thread.c ./thread Então, o problema é que as thread estão travando. Porque será que elas travam ? Será que tem que mandar a thread dar exit ou ela termina sua execução e finaliza ela ? #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> /* sleep() */ //quantidade máxima de produtos #define MAX_PROD 1000 #define limit_threads 100 int Flag; int Sincronia; int PedePraGrava; int PodeLer; struct coisa { int t; //Numero da thread int pares; //combinações de mais vendidos int linha; //linha int compra[limit_threads][MAX_PROD]; int vendidos[limit_threads][1][50];//maximo 50 mais vendidos //0 - codigo //1 - quantidade vendida }; void *Compara(void *threadid) { struct coisa *args = threadid; int aux,w, i,sujeito,maiores, temp, repetido; aux = args->t;//save point printf("Thread #%d!\n",aux); Flag = 1; i = 0; while ( args->compra[aux][i] != 0 ) { printf("Comparando thread %d\n", aux); w = 0; maiores = 1; sujeito = args->compra[aux][i]; while ( args->compra[aux][w] != 0 ) { if (sujeito == args->compra[aux][i]) { args->compra[aux][i] = -1;//pra não contar mesmo produto maiores ++; } w++; } printf("Terminou de compara 1 unico produto deste client\n"); // maiores tem o numero de repetições desse produto // sujeito é o codigo do produto //Mesmo produto do top sendo vendido, então incrementa w = 0; repetido = 0; while (w < args->pares){ if (args->vendidos[aux][0][w] == sujeito){ args->vendidos[aux][1][w] = args->vendidos[aux][1][w] + maiores; repetido = 1; } } printf("Novo produto passa a ser mais vendido\n"); w = 0; temp = 0; if (repetido == 0) { while (w < args->pares) { if(args->vendidos[aux][1][w] < maiores){ if (temp == 0) temp = w; else{ if (args->vendidos[aux][1][temp] < args->vendidos[aux][1][w]) temp = w; else temp = temp; } } } printf("//Terminou de comparar com os mais vendidos\n"); } if (temp != 0){ args->vendidos[aux][1][temp] = maiores; args->vendidos[aux][0][temp] = sujeito; } printf("//Terminou de inserir novo Top vendido\n"); i++; }//Terminou de comparar todos os produtos printf("//Ajusta sincronia\n"); i = 0; while ( i == 0 ) { if (Sincronia == aux){ Sincronia = Sincronia + 1; i = 1; printf("Thread %d Fora de sincronia", aux); } } } void *Reseta(void *threadid) { struct coisa *args = threadid; int i = 0; int aux; aux = args->t; Flag = 1; while( i < MAX_PROD ) { args->compra[aux][i] = 0; i++; } i = 0; while ( i == 0 ) { if (Sincronia == aux){ Sincronia = Sincronia + 1; i = 1; //printf("Thread %d Fora de sincronia", aux); } } printf("Processado thread #%d! \n", aux); } int main (int argc, char *argv[]) { struct coisa arg1; int NUM_THREADS, dado,i; FILE *fin= fopen(argv[1], "r"); char comando; if (argc!=2){ printf("Falta parametro, execute assim: ./programa entrada.txt saida.txt\n"); } if (!fin){ printf("\nErro com arquivo de entrada.\n"); exit(1); } fscanf(fin,"%d",&arg1.pares);//N - pares de compra fscanf(fin,"%d",&arg1.linha);//K - linhas NUM_THREADS = arg1.linha; printf("Top %d Produtos vendidos\n", arg1.pares); printf("Rodadas de %d linhas\n", arg1.linha); if (arg1.linha > limit_threads ){ printf("Não funciona com Rodadas de %d linhas\n", arg1.linha); printf("Tente aumentar o 'limit_threads' mas, depende da memoria\n"); exit(0); } pthread_t threads[arg1.linha]; while (!feof(fin)) { arg1.t = 0; Flag = 1; Sincronia = 0; //Reseta a lista de compra while ( arg1.t < arg1.linha ) { Flag = 0; pthread_create(&threads[arg1.t], NULL, Reseta, (void *)&arg1); while(Flag != 1) { } arg1.t = arg1.t + 1; } while (Sincronia != arg1.linha){ printf("'2'"); } arg1.t = 0; i = 0; Flag = 0; printf("Escreve a Lista de compra\n"); while ( arg1.t < arg1.linha ) { while(comando != '\n') { fscanf(fin, "%d",&dado); arg1.compra[arg1.t][i] = dado; i++; fscanf(fin, "%c", &comando); } arg1.t = arg1.t +1; } arg1.t = 0; Sincronia = 0; printf("Analisa a lista de compra e passa para lista de vendidos\n"); while ( arg1.t < arg1.linha ) { Flag = 0; pthread_create(&threads[arg1.t], NULL, Compara, (void *)&arg1); while(Flag == 1){ } arg1.t = arg1.t + 1; } while (Sincronia != arg1.linha){ printf("aguardando thread #%d\n", Sincronia); sleep(1); } }//Fim do arquivo pthread_exit(NULL); }//Fim do Main Exemplo de arquivo de entrada 5 10 39534 34829 17884 47912 10407 7841 20165 9082 30944 1906 23644 12705 28587 11868 29305 33223 48266 22643 35322 29217 13828 1641 21061 1312 10828 24368 39834 32626 38420 45720 17455 6304 43632 46559 16711 17825 33076 42145 48769 34982 49987 22413 14039 44926 34281 9697 28149 48899 48692 29823 28116 28873 47816 15529 8644 39897 36371 41271 28317 32091 25078 34621 25723 37990 17684 9901 21066 26181 8670 22401 42520 47436 2792 37446 48069 12489 15595 46969 11182 11770 25085 6407 9587 40615 36592 18231 30512 22964 25854 25182 21407 9803 13483 38923 43840 23384 26341 20021 32054 48742 12542 45842 1535 49988 43912 30376 31936 40881 7910 43706 32318 14317 19645 39285 910 37877 36150 40226 30083 11332 11633 31016 37487 25116 36291 31327 12633 1349 46907 27727 9101 29262 46583 3013 25991 28519 10246 33901 38578 42565 14571 24575 31850 31833 28804 34352 22059 8888 45684 44 39904 33172 41513 26196 30851 6365 5181 48552 19624 32908 28795 28726 28523 41731 31739 4514 36602 41986 4767 41532 903 19338 16108 49105 1171 33458 39582 3800 45494 5979 10057 28666 47492 2605 25870 3857 7786 24422 23482 19570 18560 35569 11301 299 6435 14255 8637 11203 5788 9540 46893 21896 24998 14417 33160 8456 20351 36961 3950 26330 13370 48969 23822 15975 24839 44032 40113 15613 33866 47159 1535 2426 32729 29188 19077 39164 43444 27715 16719 49232 3607 13613 37480 28605 28030 3413 48381 40305 7364 24712 3675 22685 14886 36002 13876 8918 26115 29489 9136 23275 47377 11562 6004 26565 30640 11520 20009 8355 28240 35593 28314 41853 39425 23272 36235 26418 26685 34616 16723 401 25680 36751 23086 6919 22753 36962 32189 48869 32804 22144 30181 2888 44500 23098 33528 6020 43108 8235 612 45053 2902 42465 831 26174 28700 27249 19211 29669 10324 19613 5349 47075 9051 28620 19829 12366 10810 11522 2136 8055 5024 18046 31153 4905 40418 40613 29492 41031 2019 32394 33496 2850 24920 28549 46451 10484 8218 23127 46449 29919 20203 5500 8540 6384 34218 19350 41434 12092 37838 14980 20147 42862 49378 1301 14119 39796 8266 9964 30827 10285 8710 14324 13135 33631 9225 10467 17443 49066 6916 13714 19269 12416 22254 42005 12987 7956 49791 25079 45794 31123 11579 5009 30501 12880 35480 20297 21146 45444 1125 47784 20507 31801 10919 20490 41026 36858 30957 24821 35924 37873 4887 21545 16641 29902 29628 1450 29693 21060 13597 27168 32639 34958 7669 11871 20438 44318 49369 32235 11795 47153 2742 43596 8073 23232 974 11283 4189 42147 13559 8414 13387 35104 25055 6881 31358 21036 24683 11051 42096 38280 38219 24735 39590 12240 2958 10029 6558 2327 8616 49481 27710 44654 23906 942 11981 35189 21483 15100 29897 17515 16556 21304 40748 47914 42340 15432 25317 788 20064 29888 41875 9655 42128 44833 36036 15038 47161 44652 49744 46642 22362 44399 36900 39656 22732 38441 27491 3541 23740 10728 20097 45044 17828 34363 3737 33260 9680 4525 3325 46401 29332 31696 41234 15368 13086 4747 26372 29183 17741 15086 39934 4641 21094 12666 43082 48585 5878 12975 38677 49424 73 787 33787 3810 399 43467 8336 20076 33035 49408 31083 12323 31128 44170 33423 7500 23353 1164 22586 29639 5806 10032 42305 48888 8617 48183 28216 47294 31142 27640 47368 48281 11428 17530 48680 4895 42218 18757 37931 13307 34517 35366 41983 15646 29536 25406 23146 19241 26570 12085 48728 22117 41185 13969 47087 5721 42185 10733 3215 19825 24453 1496 31253 41984 176 2501 554 35285 6784 13862 19803 42150 22197 35449 38039 13955 24947 23632 6877 3384 22513 5606 30050 19575 38941 2123 11760 49674 47937 40480 6834 45543 48816 23363 48044 49370 8648 4828 29584 28451 13330 1781 30252 1369 15736 21552 25002 22614 24936 13867 44572 16790 43917 14147 22083 46041 42259 38110 17731 40196 28590 24566 35739 27406 47929 135 26776 22929 6361 17733 18294 24494 47985 36015 6583 19537 11017 29197 10826 24884 23769 27616 35154 49700 47547 46527 4162 15278 3075 32752 39844 5167 26510 4125 5302 19638 43407 26618 42351 11140 11264 16846 9125 23429 45015 8297 18978 5841 49533 9099 49809 34687 29719 15861 32234 42598 20023 47513 12025 19127 3709 17192 45637 24187 38847 31628 17594 31817 23979 28734 43081 40825 4211 6712 49226 31361 15936 21419 30895 41387 37581 15582 3442 14169 13704 39818 28034 25730 25297 31743
  3. Eu tenho a variável int A com o valor 01001 Como eu faço pra pegar um vetor B[4] e armazenar assim: B[0] = 1 B[1] = 0 B[2] = 0 B[3] = 1 B[4] = 0
×
×
  • Criar Novo...