Ir ao conteúdo
  • Cadastre-se

eliumoraes

Membro Pleno
  • Posts

    42
  • Cadastrado em

  • Última visita

Tudo que eliumoraes postou

  1. Olá pessoal, Estou passando por uma dificuldade com um mouse wireless. A seta do mouse passou a ir na direção oposta no Windows 11. No entanto, com um segundo mouse que eu tinha aqui, tudo estava funcionando normalmente. Agora, ambos os mouses estão com o mesmo problema. Testei o mouse em outro computador com um sistema operacional diferente, o Ubuntu Latitude, e o problema ocorre lá também. Testei em 2 laptops e um computador e o problema de inversão ocorre em todos. No Windows, encontrei uma solução paliativa usando o SakasaMouse, um software que reverte os eixos. Mas quando abro um jogo, os eixos voltam a ficar invertidos, já que o SakasaMouse não funciona em jogos. O que mais me preocupa é que, inicialmente, apenas um mouse apresentou problema. Depois, um segundo mouse apresentou o mesmo problema. Será que o Windows enviou algo para o mouse? Estou conectando em outro computador agora, e já parece ser problema no hardware dos dois mouses. Isso me preocupa em comprar um mouse novo e ter o mesmo problema. Costumo usar o Barrier para controlar múltiplos dispositivos com o mesmo mouse e teclado. Mas, agora, por conta dessa inversão, não consigo mais fazer isso, já que o SakasaMouse não funciona em múltiplas telas. Por curiosidade via touchpad tudo funciona normalmente, então quando uso o SakasaMouse o touchpad é que passa a ficar com problema. Já resetei as configurações, desinstalei o mouse, atualizei o driver e segui vários vídeos tutoriais, mas nada resolveu o problema. Curiosamente, uma galera no Reddit conseguiu resolver um problema semelhante fazendo um reset do dispositivo, mas parece que funcionou apenas para o HV-MS733 ou para o KNUP KP V43, como mostrado em um vídeo que encontrei no YouTube. Essa função de reset do mouse só tem nos programas desses mouses que citei acima, mas os meus mouses são simples, um é CAERUS e o outro é MO295 da Multilaser, ambos com seu próprio conector USB e sem um software próprio. Será que existe alguma forma de eu simular isso e forçar um reset dentro dos mouses?
  2. @Simon Viegas O enunciado pode ser encontrado aqui: https://www.urionlinejudge.com.br/judge/pt/problems/view/1087 Tem figura também, então fica mais fácil ver no site.
  3. Gente, to com um projetinho novo e preciso urgentemente aprender Python. Estou voltando ao Uri para executar exercícios e entender as características da linguagem. O problema é que alguns exercícios eu não entendo porque não funcionam, o 1087 tá resolvido e no meu PC passa em todas as entradas. O que será que está acontecendo? n = 0 while n==0: try: a = input() x = int(len(a)) ''' for i in range(len(a)): print(" a[{}]: {}".format(i,a[i]), end="") if i == (x - 1): print(". \n") ''' ''' Sincê vai tê di funciona! ''' soma, confere = (int(a[0]) + int(a[2])), (int(a[4]) + int(a[6])) #print(soma,confere) #print(a) if a == "0 0 0 0": n = 1 elif (a[0] == a[4]) and (a[2] == a[6]): print(0) elif soma == confere: print(1) else: print(2) except: break
  4. Se eu salvar vai dar certo, já testei. O problema é que preciso manter os dados sincronizados.
  5. Boa tarde, Eu tenho um problema recorrente. Preciso todos os dias importar dados de uma tabela de preços que está no Google Spreadsheets, em seguida esses dados passam por um tratamento interno para servir às minhas necessidades. Acontece que quando os dados são importados da web todos os acentos são perdidos. No Google Spreadsheets fui em: Arquivo >> Publicar na Web >> escolhi Web >> e cliquei em Publicar. No Excel fui em: Dados >> Obter dados Externos >> da Web >> Coloquei o link (https://docs.google.com/spreadsheet...gv0lkpxeMk/pubhtml?gid=2140909029&single=true) e importei. Ele importa corretamente, porém os acentos chegam cheios de bugs.
  6. Boa tarde senhores, Eu estou em dúvida sobre gravação de sons graves. Entrei trabalhar em uma fábrica de escapamentos e uma das minhas funções vai ser fazer gravações de todo tipo de escapamento com qualidade profissional ou o mais próximo disso, o problema é que não tenho muito conhecimento. O problema 2 é que o patrão quer fazer isso de forma econômica. Então eu estou escolhendo o equipamento ideal. Como também preciso mostrar o escapamento enquanto ele está na moto e vou ter que filmar, pretendo comprar uma Go Pro 5, porque está no valor aceito aqui pela empresa (1700,00). Mas estou super em dúvida se ela não vai filtrar o som do escapamento, porque vi vídeos gravados perto de motocicletas com a Go Pro e dá pra ouvir a pessoa falando certinho e o som do motor acaba saindo filtrado, acho que deve ser uma função própria da filmadora ou talvez eles filtrem depois. Minha dúvida é: Vou precisar de um equipamento para gravação de áudio além da Go Pro? E se eu utilizar um microfone externo na Go Pro será que vai ajudar? Como faço para gravar sons de escapamentos de forma que o som saia igual ao real? (tenho cerca de 6mil escapamentos, para filmar, gravar o som, tirar fotos e editar). Por favor me dêm dicas de equipamentos e formas de fazer isso de maneira não muito cara. OBS: Não é o fórum adequado, mas se também tiverem dicas sobre fotografia e filmagem eu agradeço.
  7. Pessoal, desculpe pela demora. Eu estava tentando há todo esse tempo resolver o problema, hoje finalmente consegui encontrar um jeito. Primeiro usei este comando: sudo dpkg -i --force-overwrite /var/cache/apt/archives/libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb E depois este: sudo apt-get install -f Deu vários erros e achei que não iria dar certo (depois de tantas tentativas e fracassos), mas voltou a funcionar o apt-get e ainda consegui fazer o update do sistema sem problemas. Faz tempo que o tópico está aberto, mas caso alguém tenha o mesmo problema pode ser útil esta resposta. Fonte!
  8. @AmarildoJr Meu sources.list: # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://br.archive.ubuntu.com/ubuntu/ trusty main restricted deb-src http://br.archive.ubuntu.com/ubuntu/ trusty main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://br.archive.ubuntu.com/ubuntu/ trusty-updates main restricted deb-src http://br.archive.ubuntu.com/ubuntu/ trusty-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://br.archive.ubuntu.com/ubuntu/ trusty universe deb-src http://br.archive.ubuntu.com/ubuntu/ trusty universe deb http://br.archive.ubuntu.com/ubuntu/ trusty-updates universe deb-src http://br.archive.ubuntu.com/ubuntu/ trusty-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://br.archive.ubuntu.com/ubuntu/ trusty multiverse deb-src http://br.archive.ubuntu.com/ubuntu/ trusty multiverse deb http://br.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb-src http://br.archive.ubuntu.com/ubuntu/ trusty-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://br.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://br.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu trusty-security main restricted deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted deb http://security.ubuntu.com/ubuntu trusty-security universe deb-src http://security.ubuntu.com/ubuntu trusty-security universe deb http://security.ubuntu.com/ubuntu trusty-security multiverse deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb http://archive.canonical.com/ubuntu trusty partner # deb-src http://archive.canonical.com/ubuntu trusty partner ## Uncomment the following two lines to add software from Ubuntu's ## 'extras' repository. ## This software is not part of Ubuntu, but is offered by third-party ## developers who want to ship their latest software. # deb http://extras.ubuntu.com/ubuntu trusty main # deb-src http://extras.ubuntu.com/ubuntu trusty main ## Pacote para o Firefox deb http://packages.linuxmint.com debian import deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main # deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main @Manjaro Dei uma olhada no site, mas ele é específico para Ubuntu, será que posso criar uma sources.list com ele e utilizar mesmo assim? Obs.: Na minha sources.list existem várias referências ao Ubuntu, apesar de meu SO ser o Elementary OS.
  9. @JorgeSouza Não tem como instalar através do apt-get o synaptic, pois qualquer instalação através do apt-get dá o mesmo erro, lembrando que o meu update também não funciona, está o erro ali no primeiro tópico. @Gamer_PC Eu já fiz esse procedimento, está ali no primeiro tópico a execução e o erro que dá ao fazer.
  10. Estou tendo problemas para instalar os programas através do apt-get, acredito que o meu repositório do Elementary OS está corrompido, mas não sei como limpar e voltar ao normal. Por exemplo, ao tentar instalar o Qucs ou qualquer programa aparece sempre a mesma mensagem: sudo apt-get install qucs Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Você deve querer executar 'apt-get -f install' para corrigí-los: Os pacotes a seguir têm dependências desencontradas: clang-3.8 : Depende: libllvm3.8v4 mas não será instalado libclang-common-3.8-dev : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não será instalado libclang1-3.8 : Depende: libllvm3.8v4 mas não será instalado liblldb-3.8 : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não será instalado lldb-3.8 : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não será instalado llvm-3.8 : Depende: libllvm3.8v4 mas não será instalado llvm-3.8-dev : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não será instalado llvm-3.8-runtime : Depende: libllvm3.8v4 mas não será instalado qucs : Depende: libqt4-qt3support (>= 4:4.5.3) mas não será instalado Recomenda: freehdl mas não será instalado Recomenda: verilog mas não será instalado Recomenda: octave mas não será instalado E: Dependências desencontradas. Tente 'apt-get -f install' sem nenhum pacote (ou especifique uma solução). Quando tento o comando que ele indica o seguinte ocorre: apt-get -f install Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Corrigindo dependências... Pronto Os seguintes pacotes foram instalados automaticamente e já não são necessários: firefox-locale-bg firefox-locale-cs firefox-locale-da firefox-locale-id firefox-locale-ko firefox-locale-pt firefox-locale-ru firefox-locale-th firefox-locale-vi libcurl3:i386 libidn11:i386 libjsoncpp0 libllvm3.8 libntdb1 libpth20:i386 librtmp0:i386 libtimezonemap1 libxfce4ui-1-0 libxfce4ui-common libxfce4util-bin libxfce4util-common libxfce4util6 libxfconf-0-2 linux-headers-3.13.0-85 linux-headers-3.13.0-85-generic linux-headers-3.19.0-39 linux-headers-3.19.0-39-generic linux-image-3.13.0-85-generic linux-image-3.19.0-39-generic linux-image-extra-3.13.0-85-generic linux-image-extra-3.19.0-39-generic linux-signed-image-3.13.0-85-generic python-ntdb xfconf Utilize 'apt-get autoremove' para os remover. Os pacotes extra a seguir serão instalados: libllvm3.8v4 Os NOVOS pacotes a seguir serão instalados: libllvm3.8v4 0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 16 não atualizados. 9 pacotes não totalmente instalados ou removidos. É preciso baixar 0 B/9.721 kB de arquivos. Depois desta operação, 40,4 MB adicionais de espaço em disco serão usados. Você quer continuar? [Y/n] y (Lendo banco de dados ... 433968 ficheiros e directórios actualmente instalados.) A preparar para desempacotar .../libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb ... A descompactar libllvm3.8v4:amd64 (1:3.8-2ubuntu3~trusty4) ... dpkg: erro ao processar o arquivo /var/cache/apt/archives/libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb (--unpack): a tentar sobre-escrever '/usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1', que também está no pacote libllvm3.8:amd64 1:3.8~svn271772-1~exp1 dpkg-deb: erro: o subprocesso colar foi morto pelo sinal (Pipe quebrado) E: Sub-process /usr/bin/dpkg returned an error code (1) Meu update também está dando erro, sempre termina com a seguinte linha: W: Erro GPG: http://download.opensuse.org Release: As assinaturas a seguir não puderam ser verificadas devido à chave pública não estar disponível: NO_PUBKEY 1BE1E8D7A2B5E9D5 A sugestão do autoremove também está bugando: apt-get autoremove Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Você pode querer executar 'apt-get -f install' para corrigí-los. Os pacotes a seguir têm dependências desencontradas: clang-3.8 : Depende: libllvm3.8v4 mas não está instalado libclang-common-3.8-dev : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não está instalado libclang1-3.8 : Depende: libllvm3.8v4 mas não está instalado liblldb-3.8 : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não está instalado lldb-3.8 : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não está instalado llvm-3.8 : Depende: libllvm3.8v4 mas não está instalado llvm-3.8-dev : Depende: libllvm3.8v4 (= 1:3.8-2ubuntu3~trusty4) mas não está instalado llvm-3.8-runtime : Depende: libllvm3.8v4 mas não está instalado E: Dependências desencontradas. Tente usar -f. Ou: apt-get autoremove -f Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Corrigindo dependências... Pronto Os pacotes extra a seguir serão instalados: libllvm3.8v4 Os pacotes a seguir serão REMOVIDOS: firefox-locale-bg firefox-locale-cs firefox-locale-da firefox-locale-id firefox-locale-ko firefox-locale-pt firefox-locale-ru firefox-locale-th firefox-locale-vi libcurl3:i386 libidn11:i386 libjsoncpp0 libllvm3.8 libntdb1 libpth20:i386 librtmp0:i386 libtimezonemap1 libxfce4ui-1-0 libxfce4ui-common libxfce4util-bin libxfce4util-common libxfce4util6 libxfconf-0-2 linux-headers-3.13.0-85 linux-headers-3.13.0-85-generic linux-headers-3.19.0-39 linux-headers-3.19.0-39-generic linux-image-3.13.0-85-generic linux-image-3.19.0-39-generic linux-image-extra-3.13.0-85-generic linux-image-extra-3.19.0-39-generic linux-signed-image-3.13.0-85-generic python-ntdb xfconf Os NOVOS pacotes a seguir serão instalados: libllvm3.8v4 0 pacotes atualizados, 1 pacotes novos instalados, 34 a serem removidos e 15 não atualizados. 9 pacotes não totalmente instalados ou removidos. É preciso baixar 0 B/9.721 kB de arquivos. Depois desta operação, 576 MB de espaço em disco serão liberados. Você quer continuar? [Y/n] y (Lendo banco de dados ... 433968 ficheiros e directórios actualmente instalados.) A preparar para desempacotar .../libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb ... A descompactar libllvm3.8v4:amd64 (1:3.8-2ubuntu3~trusty4) ... dpkg: erro ao processar o arquivo /var/cache/apt/archives/libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb (--unpack): a tentar sobre-escrever '/usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1', que também está no pacote libllvm3.8:amd64 1:3.8~svn271772-1~exp1 dpkg-deb: erro: o subprocesso colar foi morto pelo sinal (Pipe quebrado) Erros foram encontrados durante o processamento de: /var/cache/apt/archives/libllvm3.8v4_1%3a3.8-2ubuntu3~trusty4_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) Preciso de ajuda para resolver isso, alguém?
  11. Galera, estou tentando resolver esse problema do URI, mas está acusando que o meu código tem 10% de erro. Eu já fiz a correção que achei necessária (não tinha colocado o caso de zero), mas não resolveu, continua 10% de erro. Funciona para todos os casos de teste do exemplo e também para os casos de teste que estão postados no fórum. #include <iostream> #include <cmath> using namespace std; int main(int argc, char const *argv[]) { int *notas, c,t; double media,acima; notas = (int*) calloc(1,sizeof(int)); cin >> c; for (int i = 0; i < c; ++i) { cin >> t; if(t==1){ cin >> acima; // tanto faz isso, vai retornar zero mesmo... cout.precision(3); double *****= 0.000; cout << fixed << ***** << "%" << endl; } else{ notas = (int*) realloc(notas,t*sizeof(int)); for (int s = 0; s < t; ++s) { cin >> notas[s]; } /* for (int s = 0; s < t; ++s) { cout << notas[s] << " "; } */ // cout << endl; media = 0; for (int s = 0; s < t; ++s) { media = media + notas[s]; // cout << media << " "; } // cout << media << endl << endl; media = media / t; acima = 0; // cout << "m:" << media << " t:" << t << endl; for (int s = 0; s < t; ++s) { if(notas[s]>media){ acima++; } } acima = roundf((acima * 100 / t)*1000)/1000; // Arredonda um número para 3 casas decimais. cout.precision(3); cout << fixed << acima << "%" << endl; } } return 0; } Alguma luz?
  12. @Ariel.Campos Quando você vai criar uma variável do tipo inteiro, geralmente faz: int num;. Quando vai criar um vetor definido, do tipo inteiro faz int meuvetor[10] e uma matriz definida int minhamatriz[5][5]. Mas e quando essa matriz ou esse vetor é indefinido? Para uma matriz de duas dimensões você declara int **minhamatriz; E para um vetor: int *meuvetor; Para em seguida definir utilizando calloc, malloc ou realloc. É para isso que servem os **, eles criam ponteiros, assim você pode definir e alterar o seu array de acordo com a necessidade. Dê uma pesquisada sobre ponteiros que vai entender o significado.
  13. @natan500 É muito estranho o seu erro. Pode mandar um printscreen do código (em vez de escrever ele) e um printscreen do compilador rodando? Se é C++ você não deve usar printf que é do C e sim o cout. #include <iostream> using namespace std; int main(int argc, char const *argv[]) { cout << "Veja se funcionou!" << endl; return 0; }
  14. @Mauro Britivaldo Isso foi perfeito. Eu não havia entendido que precisava de um teste final ali, que você setou como -1; Você também utilizou o operador ! (logical not), acredito que acontece o seguinte: O operador "?" verifica se a condição antes dele é verdadeira (1) ou falsa (0). Se ela for verdadeira ele returna o valor após ele, caso seja falsa passa para a condição depois do ":". strcmp verifica se a variável contém o valor especificado, caso sim retorna 0 caso contrário retorna <0 ou >0. ! serve para inverter o 0, assim caso bateu os valores e strcmp retornou zero, o ! inverte pra 1 e o ? imprime o valor desejado. É isso ou eu confundi? OBS: Eu utilizei pra resolver este problema, ficou assim. Muito obrigado pela ajuda!
  15. Olha, eu fiz a correção e você pode observar o código abaixo pra entender o problema. Algumas coisas que acho importante você lembrar: Não se deve construir matrizes dinâmicas sem o uso do malloc, calloc ou realloc. Quando uma matriz é definida, tudo bem usar int matriz[12][12] e em seguida pedir pro cara entrar com os 144 valores dela. Mas quando você vai pedir para ele entrar com o número de colunas e linhas deve usar a biblioteca <stdlib.h> para não ficar usando memória excessiva, o mesmo com vetores. Eu resolvi esse problema e o resto era errinho básico, olhando você irá entender. A saída não está formatada, mas isso você pode arrumar. #include <stdio.h> #include <stdlib.h> void num_pares (int linha, int coluna); main () { int linha,coluna; printf(" \n Digite respectivamente a qnt de linhas e colunas da matriz: \n"); scanf("%d %d",&linha,&coluna); printf(" Numeros pares da matriz:\n "); num_pares (linha,coluna); } void num_pares (int linha, int coluna) { // Recebe os valores para construir a matriz int i,j,tamanhovetor=1; int **pares,*par; //Declara a matriz e o vetor, do tipo inteiro pares = (int**) malloc(linha*sizeof(int*)); // Atribui o número de linhas para a matriz for(i=0;i<linha;i++){ pares[i]= (int*) malloc(coluna*sizeof(int*)); // Para cada linha atribui o número de colunas } par = (int*) malloc(1*sizeof(int)); // Criei o vetor com tamanho 1 printf("\n \t Digite %d valores. \n",linha*coluna); for (i=0;i<linha;i++) { for (j=0;j<coluna;j++){ printf("\n \t Posicao [%d][%d]:",i+1,j+1); scanf("%d",&pares[i][j]); }} //Havia um erro aqui, compare e encontre. for (i=0;i<linha;i++){ for (j=0;j<coluna;j++){ if (pares[i][j]%2==0){ // Havia um erro aqui, compare e encontre. //par[k]==m0[j]; //Isto está totalmente errado par = (int*) realloc(par,tamanhovetor*sizeof(int)); // Aumentei o tamanho do vetor par[tamanhovetor-1] = pares[i][j]; tamanhovetor++; } } } printf(" \n Matriz inserida: \n"); for (i=0;i<linha;i++) { for (j=0;j<coluna;j++){ printf("|%d|",pares[i][j]); //Havia um erro aqui, compare e encontre if(j==(coluna -1)) printf("\n"); }} printf(" \n\n Elementos pares da matriz: \n"); for (i=0;i<tamanhovetor-1;i++){ printf(" %d ",par[i]); } }
  16. Boa tarde, Estou tentando entender como utilizar o operador ? para retornar um valor numa função que compara strings, mas não consigo. Encontrei nesse site, um exemplo assim: return strcmp(registerName, "zero")? 00000: strcmp(registerName, "at") ? 00001: strcmp(registerName, "v0") ? 00010: strcmp(registerName, "v1") ? 00011: ... Eu tenho uma string, que pode ser uma de entre 5 opções, e quero que ela retorne um valor entre 1 e 5, dependendo do que o usuário escrever. Minha dúvida fica relativa a ordenação aí, eu coloquei exatamente do jeito que o cara especificou e não deu certo. int valor(char registerName[10]){ return strcmp(registerName, "teste1")? 1: strcmp(registerName, "teste2") ? 2: strcmp(registerName, "teste3") ? 2: strcmp(registerName, "teste4") ? 4: strcmp(registerName, "teste5") ? 5: } Qual a maneira certa de utilizar esse operador em conjunto com strcmp?
  17. @MassakiMsk Eu não entendi direito o que você quis dizer, pode dar um exemplo? @Philipe de Souza Fiz um teste aqui pra gerar 10 e ficou assim: #include <stdio.h> #include <stdlib.h> int main(void) { int i,mA,MA,N; printf("Gerando 10 valores aleatorios:\n"); printf("Digite os valores de mA e MA separados por espaço:\n"); scanf("%d %d",&mA,&MA); for(i=0;i<10;i++){ for(;;){ N = rand() % MA; if (N<MA && N>=mA) { printf("%d\n",N ); break; } } } return 0; } @Philipe de Souza Testei e estava repetindo, pra não repetir tem que usar o time.h, fica assim: #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int i,mA,MA,N; printf("Gerando 10 valores aleatorios:\n"); printf("Digite os valores de mA e MA separados por espaço:\n"); scanf("%d %d",&mA,&MA); srand( (unsigned)time(NULL) ); for(i=0;i<10;i++){ for(;;){ N = rand() % MA; if (N<MA && N>=mA) { printf("%d\n",N ); break; } } } return 0; }
  18. @Philipe de Souza Você pode tentar assim: #include <stdio.h> #include <stdlib.h> int main(void) { int i,mA,MA,N; printf("Digite os valores de mA e MA separados por espaço:\n"); scanf("%d %d",&mA,&MA); for(;;){ N = rand() % MA; if (N<MA && N>=mA) { printf("%d\n",N ); break; } } return 0; }
  19. Uma alternativa ao que os colegas disseram é: scanf("%c%c%c",&olhos,&lixo,&cabelos); O problema com o seu código é aquele espaço antes do segundo %c, se você trocar ele por outro %c resolve. Lembrando que se a cor for capturada dessa forma só pode ser UMA letra, se quiser capturar mais de uma tem que setar o tamanho correto lá na criação do char. Outra coisa que acho necessário pra evitar problemas é limpar o buffer antes de usar o %c, pois se você leu algo antes, um int, um float, ou qualquer coisa vai ficar um "\n" no buffer e ele pega isso antes de ler o teclado. Nesse caso ficaria assim: setbuf(stdin,NULL); scanf("%c%c%c",&olhos,&lixo,&cabelos);
  20. @CiroboyBR Pelo que entendi você mudou poucas coisas, por exemplo você adicionou uma função pra limpar o buffer de entrada, mudou a entrada para três %c em vez do %s, jogando o segundo numa variável lixo e desceu a criação das variáveis lá pra baixo. Eu tentei fazer a mesma coisa, porém em C, mantendo as alterações que você fez e melhorou um pouco, mas ainda está dando 50% de WA. No "if else" eu acho que você não mudou nada, nem no "switch", exceto a identação. Ficou assim: #include <stdio.h> #include <stdlib.h> int main(int argc, char const *argv[]) { int i,r,g,b,p,x,c; char j,u,o,k[3]; scanf("%d",&c); for(x=0;x<c;x++){ scanf("%d",&p); r = 0; g = 0; b = 0; for(i=0;i<p;i++){ // setbuf(stdin,NULL); fflush(stdin); __fpurge(stdin); scanf("%c%c%c",&u,&j,&o); //scanf(" %[^\n]s",k); //u = k[0]; //o = k[2]; // printf("%c %c\n",u,o ); switch(u){ case 'R': if (o=='G'){ r = r + 2; } else {r++;} break; case 'G': if (o=='B'){ g = g + 2; } else {g++;} break; case 'B': if (o=='R'){ b = b + 2; } else {b++;} break; } } if(r==b && r==g){ //Verifica se as três variáveis são iguais printf("trempate\n"); } else{ if(r==g && r>b){ //verifica se duas são iguais e maiores que a outra printf("empate\n"); } else{ if(b==g && b>r){ //verifica se duas são iguais e maiores que a outra printf("empate\n"); } else{ if(r>g && r>b){ //verifica se red é maior que todas printf("red\n"); } else{ if(g>b && g>r){ //verifica se green é maior que todas printf("green\n"); } else printf("blue\n"); //se nenhum dos casos anteriores é verdadeiro então blue é maior que todas } } } } } return 0; } Sobre a limpeza do buffer em c eu encontrei esses três: setbuf(stdin,NULL); fflush(stdin); __fpurge(stdin) Pelo que vi para limpar em Windows deve usar o fflush e em Linux o __fpurge, eu tentei só com o setbuf ou com os outros dois ali. Não consegui encontrar nenhuma outra mudança significativa, tirando as bibliotecas e a linguagem é claro.
  21. Boa noite amigos do fórum, Mais uma vez estou com dúvidas, prova quase chegando (sábado agora 21) e eu me matando pra fazer coisas simples. O código abaixo dá 70% de WA no URI: #include <stdio.h> int main(int argc, char const *argv[]) { int i,r,g,b,p,x,c; char u,o,k[3]; scanf("%d",&c); for(x=0;x<c;x++){ scanf("%d",&p); r=g=b=0; for(i=0;i<p;i++){ scanf(" %[^\n]s",k); u = k[0]; o = k[2]; // printf("%c %c\n",u,o ); switch(u){ case 'R': if (o=='G'){ r = r + 2; } else r++; break; case 'G': if (o=='B'){ g = g + 2; } else g++; break; case 'B': if (o=='R'){ b = b + 2; } else b++; break; } } if(r==b && r==g){ //Verifica se as três variáveis são iguais printf("trempate\n"); } else{ if(r==g && r>b){ //verifica se duas são iguais e maiores que a outra printf("empate\n"); } else{ if(b==g && b>r){ //verifica se duas são iguais e maiores que a outra printf("empate\n"); } else{ if(r>g && r>b){ //verifica se red é maior que todas printf("red\n"); } else{ if(g>b && g>r){ //verifica se green é maior que todas printf("green\n"); } else printf("blue\n"); //se nenhum dos casos anteriores é verdadeiro então blue é maior que todas } } } } } return 0; } O mais estranho é que todas as respostas batem com as saídas que o URI pede. O exercício em questão é esse aqui. Alguém saberia me indicar o que fiz de errado? O que eu devo focar pra melhorar meus conhecimentos?
  22. @vangodp Por exemplo, ele entra dentro do for() que conta de zero até P, se p==3 e as entradas: 0: ABC 1: D E 2: QWE Então a saída deveria ser: A C D E Q E Porém ele pula a leitura do zero, lê o 1 e 2 corretamente. Não consegui perceber onde foi que errei no código que pega a entrada e grava.
  23. Você pode criar dois vetores um do tipo char, para o sexo, e outro do tipo float, para a altura. Entrar neles através de um for e fazer a leitura do sexo e altura, gravando sempre na mesma posição, porém em seus respectivos vetores. Após isso pode passar pelo vetor do tipo float e verificar qual posição contém o maior número, dá pra fazer isso utilizando uma variável auxiliar e inicializando ela com a posição zero do vetor, em seguida passar por cada posição, se a posição contém um valor maior que a auxiliar, então grava o valor nela e guarda o número da posição para poder imprimir depois. A média de altura pode fazer passando pelo vetor do tipo sexo, sempre que encontrar um F, soma numa variável auxiliar a posição da altura do tipo float e pega um contador. No fim divide a variável auxiliar pelo contador. O número de indivíduos pode fazer da mesma forma, sempre que encontrar F aumenta o contador1, caso contrário aumenta o contador2.
  24. Saudações amigos, Mais uma vez me encontro batendo a cabeça contra a parede, neste dia o problema é com manipulação de strings. Eu preciso de um programa simples que faça um for, de 0 até p, onde p e leia uma palavra de 3 letras, em seguida imprima a primeira e a última letra. Indicando a vez em que ela foi impressa. Meu código: #include <stdio.h> #include <string.h> int main(int argc, char const *argv[]) { int p,i; char u,o,k[3]={0}; scanf("%d",&p); for(i=0;i<p;i++){ printf("%d:",i ); scanf("%[^\n]s",k); setbuf(stdin, NULL); u = k[0]; o = k[2]; printf("%c %c\n",u,o); fflush(stdin); } return 0; } O problema: quando ele passa pelo for na primeira vez ele pula o scanf e só passa por ele na segunda vez. Porque isso acontece?
  25. Desculpe @ScreenBlack eu realmente não sabia que esses operadores existiam! Estou perplexo. Meus professores não falaram nada sobre isso. Eu estava fazendo o código que fazia isso manualmente, ou seja, recriando a roda. Muito obrigado mesmo. Eu pensava que o | e o && só poderiam ser utilizados para casos de teste dentro de um if por exemplo. Não sabia que eles eram operadores de bits, trabalhando direto com o binário do decimal. Eu li o seu post e não acreditei que iria funcionar, pois não tinha noção disso. Aí coloquei e deu certo o.O! Acabei de ler duas páginas que me ensinaram mais um pouco sobre eles, essa e essa. Obrigado mesmo!

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!