Ir ao conteúdo
  • Cadastre-se

Carlos Adir

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. Normalmente eu, por pesquisar bastante na internet eu acabo baixando muita coisa da internet, pdfs, códigos, arquivos .rar, e diversas outras coisas e assim a pasta Downloads fica lotada. Quando fui tentar organizar, percebi uma grande dificuldade em organizar. Uma maneira de fazer isso é colocar tags nos arquivos e/ou comentários de quando foi baixado e o que estava procurando. Mas aí o gerenciador de arquivos padrão do ubuntu(pela pesquisa de olhei, se chama nautilus), ele não faz isso. Existe algum gerenciador de arquivos que faça isso? Isso também ajudaria para imagens, no sentido de separar "memes" de "viagem" e etc.
  2. @MattwCosta , não haveria uma maneira de fazer tudo através do terminal do Ubuntu? Infelizmente meu computador é bastante antigo e lento, demora uns 30 segundos para iniciar o NetBeans e mudar para outra IDE continuaria o mesmo erro.
  3. Olá, tenho uma dificuldade. Depois que comecei a aprender Java, tive que lidar com classes. Sei somente C até o momento, e utilizo o sublime para escrever o texto, e o terminal para compilar e executar. Percebi que para compilar um arquivo, o nome da classe deve ser o mesmo do nome do arquivo. Caso contrário, não compilaria. Contudo, em um programa em Java, às vezes é necessário que haja mais de uma classe em um programa. Contudo, as minhas tentativas de compilar pelo terminal um programa, não reconhecia a outra classe de outro programa. Então migrei para a IDE NetBeans, mas não gostei nem um pouco e é bastante lento(em comparação com C, mas seria covardia, e também por utilizar IDE) Eu utilizo o Ubuntu 16.04, então para mim estava tudo bem, mas ao trabalhar com mais de uma classe, então tive essa dificuldade. Como fazer as coisas através do terminal? E já que estou escrevendo, qual seria a melhor maneira de compilar e executar um arquivo Java? Por exemplo, em C é possivel compilar da seguinte maneira: gcc programa.c ./a.out Contudo, prefiro: gcc -Wall -ansi programa.c -o executavel ./executavel
  4. Obrigado! Como seria a maneira de fazer com C++? Agradeço desde já
  5. Tente organizar os dados assim que já recebe os valores. Desta maneira, não é necessário usar o qsort para organiza-los e então diminui o tempo de execução.
  6. Certo, eu sabia dessas maneiras. Tem um codigo abaixo exemplificando. Haveria como fazer os comandos: c = a * b; c = a + b; c = a - b; c = a/b; a == b ? #include <stdio.h> typedef struct { double real, imaginario; } complexo; complexo conjulgado(complexo a) { complexo c = a; c.imaginario = - c.imaginario; return c; } double modulo_quadrado_complexo(complexo a) { return a.real*a.real + a.imaginario*a.imaginario; } complexo soma_complexo(complexo a, complexo b) { complexo c; c.real = a.real + b.real; c.imaginario = a.imaginario + b.imaginario; return c; } complexo subtrai_complexo(complexo a, complexo b) { complexo c; c.real = a.real - b.real; c.imaginario = a.imaginario - b.imaginario; return c; } complexo multiplica_complexo(complexo a, complexo b) { complexo c; c.real = a.real*b.real - a.imaginario*b.imaginario; c.imaginario = a.real*b.imaginario + a.imaginario*b.real; return c; } complexo divide_complexo(complexo a, complexo b) { complexo c; double x = modulo_quadrado_complexo(b); c = multiplica_complexo(a, conjulgado(b)); c.real /=x; c.imaginario /=x; return c; } int compara_complexos(complexo a, complexo b) { if(a.real != b.real) return 0; if(a.imaginario != b.imaginario) return 0; return 1; } double absoluto(double numero) { return numero < 0 ? -numero : numero; } void imprime_complexo(complexo a, char identificador) { printf("%c = %.2lf %c %.2lf*i\n", identificador, a.real, a.imaginario < 0 ? '-' : '+', absoluto(a.imaginario)); } int main() { complexo a, b, c; a.real = 1; a.imaginario = 3; b.real = 7; b.imaginario = -1; c.real = 3; c.imaginario = 4; printf("No inicio\n"); imprime_complexo(a, 'a'); imprime_complexo(b, 'b'); imprime_complexo(c, 'c'); printf("\n"); printf("Depois da soma:\n"); c = soma_complexo(a, b); /* Quero colocar simplesmente c = a + b */ imprime_complexo(c, 'c'); printf("Depois da subtracao:\n"); c = subtrai_complexo(a, b); /* Quero colocar simplesmente c = a - b */ imprime_complexo(c, 'c'); printf("Depois da multiplicacao:\n"); c = multiplica_complexo(a, b); /* Quero colocar c = a * b; */ imprime_complexo(c, 'c'); printf("Depois da Divisao:\n"); c = divide_complexo(a, b); /* Quero colocar simplesmente c = a / b */ imprime_complexo(c, 'c'); printf("\nVerificando os valores:\n"); imprime_complexo(a, 'a'); imprime_complexo(b, 'b'); imprime_complexo(c, 'c'); b = a; printf("Agora b = a\n"); imprime_complexo(a, 'a'); imprime_complexo(b, 'b'); printf("\nFazendo as comparacoes:\n"); imprime_complexo(a, 'a'); imprime_complexo(b, 'b'); if(compara_complexos(a, b)) /* Gostaria de fazer a == b */ printf("a e b sao iguais!\n"); else printf("a e b sao diferentes\n"); printf("\n"); b.real = 1; b.imaginario = 2; imprime_complexo(a, 'a'); imprime_complexo(b, 'b'); if(compara_complexos(a, b)) /* Gostaria de fazer a == b */ printf("a e b sao iguais!\n"); else printf("a e b sao diferentes\n"); return 0; } A saida desse programa é:
  7. Boa noite. Sou novo no fórum e não sei ainda se tem esse tópico em algum lugar da internet, embora eu tenha pesquisado muito e não achado nenhuma resposta à minha dúvida. A minha dúvida: Como faz para fazer atribuição de uma struct a outra? Por exemplo, tenho o código aqui: typedef struct { double real, imaginario; } complexo; int main() { complexo a, b, c; double x; /* Primeiramente, quero que todos os valores de b sejam iguais o de a Uma maneira de fazer isso é: b.real = a.real; b.imaginario = a.imaginario; Contudo, gostaria de fazer algo como: b = a; É possivel fazer isso? */ /* Quero então que b receba somente a parte imaginaria do complexo a, isso é, a maneira que gostaria de fazer: b = imaginario(a); O que aconteceria seria simplesmente: b.real = 0; b.imaginario = a.imaginario; */ /* Outra coisa que gostaria de saber se é possivel fazer, é comparar structs, isso é: if(b == a) printf("Olha, os complexos sao iguais!\n"); No caso essa comparação, corresponderia ao resultado: if(b.real == a.real && b.imaginario == a.imaginario) printf("Olha, os complexos sao iguais!\n"); Ou também if(compara(a, b)) printf("Olha, os complexos sao iguais!\n"); */ /* E outras operações basicas como multiplicação de complexos, se resumiria: c = a*b; Que resultaria em: c.real = a.real * b.real - a.imaginario * b.imaginario; c.imaginario = a.real*b.imaginario + b.real*a.imaginario; Uma vez que (a+bi)*(c+di) = (ac - bd)+i(ad+cb) Multiplicação por um inteiro ou float: a *= x; Resultaria em: a.real *= x; a.imaginario *= x; Soma: c = a + b; c.real = a.real + b.real; c.imaginario = a.imaginario+b.imaginario; */ /* Entre outras operações com isso, eu poderia fazer outras coisas, com vetores, datas e tudo mais que eu acharia necessário Tal coisa poderia ficar dentro de uma biblioteca como "complexos.h" e ficar mais fácil de manipular e limpar o código, em relação a criar funcoes do tipo: void copia_complexos(complexo *a, complexo *b) { a->real = b->real; a->imaginario = b->imaginario; } E na chamada de função, teria-se ************ Instrucoes ********* b = a; ************* Outras Instrucoes ** No lugar de ************ Instrucoes ********* copia_complexos(&b, &a); ************* Outras Instrucoes ** */ }

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