Ir ao conteúdo

Cainã Rinaldi Esteche

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Tudo que Cainã Rinaldi Esteche postou

  1. Olá, estou tentando programar um balde para uma tentativa de Paint que estou fazendo. Para tal, criei um algoritmo que pinta meus pixels a volta do meu pixel de escolha, dentro de uma bufferedImage pintada em uma JFrame, de acordo com a cor dele. o problema é que para isso utilizei um método dentro dele mesmo, e isto gerou um overflow muito grande. Gostaria de saber como lidar com isso. grato. package balde; public class Balde { int x, y; int rgb; int color; Balde(int x1, int y1) { x = x1; y = y1; color = 255; rgb = Tela.tela.getRGB(x1, y1); Tela.tela.setRGB(x, y, color); pintar(x, y); } public void pintar(int x, int y) { for (int i = -1; i <= 1; i++) { for (int u = -1; u <= 1; u++) { if (Tela.tela.getRGB(x+i, y+u) == rgb) { Tela.tela.setRGB(x+i, y+u, color); pintar(x+i,y+u); } } } } }
  2. @Simon Viegas agora eu programei o código em c++, porém com algumas alterações. Me interessa saber agora só saber para os números que seguem a função 4x+3 =y (3; 7; 11; 15 etc), e não me interessa mais saber o número de passos até o número virar 1, e sim até ele ficar menor que o inicial. (detalhe: agora em vez de fazer 3*x+1, estou fazendo (3*x+1)/2). enfim, o código está dando resultados diferentes de quando eu programei no visualg g. inclusive, quando mudo o while ( c < 1048575);, do do-while para um valor tipo 8, ele continua em um looping que gera muitos valores, enquanto deveria escrever apenas 2. #include <iostream> #include<stdlib.h> using namespace std; int main() { int aux = 0; int c = 3; int d; int x; int t; do { d = 0; x = c; \\isso só aumenta o D while (x >= c) { if (x % 2 == 0) { x = x/2; d = d + 1; } else { x = (3*x+1)/2; d = d + 1; } } cout << d << endl; if (d > aux) { aux = d; } c = c + 4; t = t+1; } while ( c < 1048575); cout << "o maior valor de operações foi de: "<< aux << endl; cout << "Foram calculados: " << t <<endl; system("pause"); return 0; }
  3. @isrnick Deu certinho com isso, valeu! adicionado 2 minutos depois @Simon Viegas Olá, quando tentei declarar a variável como real, ele continuou mostrando o erro, desta vez como se eu tivesse que ter posto como inteiro. O que resolveu foi utilizar a sugestão do Isrnick, de utilizar a barra invertida (\). Vou tentar ainda utilizar outra variável para a contagem, já que é interessante saber o número de vezes que foi necessário se fazer o loop. Obrigado ^^ adicionado 8 minutos depois @isrnick @Simon Viegas Ficou ótimo, valeu.
  4. Ola, tudo bem? Estou começando aprender a programar, e para isso estou utilizando o Visualg para exercitar minha lógica de programação. Trabalhando lá com algoritmos então, resolvi criar o seguinte: informo para o programa um certo número e, se este for par, divido por dois; se for impar, multiplico por 3 e somo 1. Faço isso até este meu número virar 1 (sim, todos viram uma hora). Enfim, quando fui executar o algoritmo, séries de erros apareceram com relação a atribuição das variáveis, entre inteiro e real. já tentei mudar várias vezes, criar variáveis de auxílio etc. Se puderem me ajudar agradeço. O código está abaixo, entre os spoillers. Obs: além do repita, já tentei utilizar para, enquanto, procedimentos, funções etc.

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