Duvidas sobre soma entre float
3 participantes
Página 1 de 1
Duvidas sobre soma entre float
Entao, alguém me ajuda com uma lógica melhor que a minha, tou tentando somar um valor com o outro entre float
queria um jeito melhor de somar os valores entre os cases
queria um jeito melhor de somar os valores entre os cases
- Código:
public Text texto;
public float[] valor;
switch (Index)
{
case 0: {
texto.text = valor[0].ToString;
}
break;
case 1: {
texto.text = (valor[0]+valor[1]).ToString;
}
break;
case 5: {
texto.text = (valor[1]+valor[2]).ToString;
}
break;
break;
case 10: {
texto.text = (valor[1]+valor[2]+valor[3]).ToString;
}
break;
}
michelly- MembroAvançado
- PONTOS : 2978
REPUTAÇÃO : 29
Respeito as regras :
Re: Duvidas sobre soma entre float
você poderia colocar nos case 3 variáveis> x,y,z e recebem nos case cada uma os valores de float;
fora do case vai ter sempre texto.text = valor[x]+valor[y]+valor[z], cria um 0 dentro de "valor" pra vc usar ele em x, ou y ou z quando não quiser somar ele, que nem no seu case1> texto.text = (valor[x]+valor[y]+valor[z]).ToString;
sendo z=0
não sei se daria certo, só testando
fora do case vai ter sempre texto.text = valor[x]+valor[y]+valor[z], cria um 0 dentro de "valor" pra vc usar ele em x, ou y ou z quando não quiser somar ele, que nem no seu case1> texto.text = (valor[x]+valor[y]+valor[z]).ToString;
sendo z=0
não sei se daria certo, só testando
Re: Duvidas sobre soma entre float
ou se for seguindo essa lógica sua> tipo soma o primeiro como segundo, o segundo com o terceiro.... e por ai vai, ai vc colocaria valor[x]+valor[x+1];
sendo x começando em 0 no primeiro case;
ai vc pode fazer
var y = valor[x]+valor[x+1];
texto.text = y + valor[x+2];
..... e por ai vai
sendo x começando em 0 no primeiro case;
ai vc pode fazer
var y = valor[x]+valor[x+1];
texto.text = y + valor[x+2];
..... e por ai vai
Re: Duvidas sobre soma entre float
ou vc cria uma variavel Y para ser onde começa e W para ser onde termina a soma
[list=linenums]
[*]
[/list]
[list=linenums]
[*]
- Código:
for (float i = y; i < w+1; i++)
{
float soma += valor[i];
}
ai a soma vai ta dentro dessa variavel temporaria, vc pode criar uma variavel permanente pra acessar depois ela em forma de texto
[/list]
Re: Duvidas sobre soma entre float
nuss entendi foi nada,mas voce se refere assim?
- Código:
float x = 5;
float y= 2;
float z =9;
valor[y]+valor[z]).ToString; //exemplo 1
valor[x]+valor[y]+valor[z]).ToString; //exmplo2
michelly- MembroAvançado
- PONTOS : 2978
REPUTAÇÃO : 29
Respeito as regras :
Re: Duvidas sobre soma entre float
não, eu dei 3 exemplos diferentes, o que eu acho q vc vai querer é o último, onde vc cria uma lista> Valor[]
depois cria 2 variáveis> int Y e int W
elas vão determinar o valor que começa a somar e onde para na lista
depois disso vc cria um for loop>
[list=linenums]
[*]for (float i = y; i < w+1; i++)
[*]{
[*] float soma += valor[i];
[*]}
[*]ai esse for vai dentro do case
[*]e vc define os valores de y e w antes do for ficando assim>
[*]Case 0:{
[*]Y=(VALOR QUE COMEÇA A SOMAR)
[*]w=(VALOR QUE TERMINA DE SOMAR)
[*]//COMEÇA O FOR LOOP PARA SOMAR OS NUMEROS DA ARRAY ENTRE OS VALORES Y E W
[/list]
[list=linenums]
[*] for (float i = y; i < w+1; i++)
[*] {
[*] float soma += valor[i];
[*] }
[/list]
[list=linenums]
[*]}
[/list]
ai cada Case vai ter seu Y e W
entendeu agora?
depois cria 2 variáveis> int Y e int W
elas vão determinar o valor que começa a somar e onde para na lista
depois disso vc cria um for loop>
[list=linenums]
[*]for (float i = y; i < w+1; i++)
[*]{
[*] float soma += valor[i];
[*]}
[*]ai esse for vai dentro do case
[*]e vc define os valores de y e w antes do for ficando assim>
[*]Case 0:{
[*]Y=(VALOR QUE COMEÇA A SOMAR)
[*]w=(VALOR QUE TERMINA DE SOMAR)
[*]//COMEÇA O FOR LOOP PARA SOMAR OS NUMEROS DA ARRAY ENTRE OS VALORES Y E W
[/list]
[list=linenums]
[*] for (float i = y; i < w+1; i++)
[*] {
[*] float soma += valor[i];
[*] }
[/list]
[list=linenums]
[*]}
[/list]
ai cada Case vai ter seu Y e W
entendeu agora?
Re: Duvidas sobre soma entre float
usei 2 maneiras que voce citou, esse de armazenar o valor dentro do próprio case num deu muito certo n, entao usei
adaptei,deiixei um pouco mais limpo, funcionou perfeito fora do projeto, quando fui inserir no projeto lá vem o bug rsrrsr é tenso
- Código:
var y = valor[x]+valor[x+1];
texto.text = y + valor[x+2];
adaptei,deiixei um pouco mais limpo, funcionou perfeito fora do projeto, quando fui inserir no projeto lá vem o bug rsrrsr é tenso
michelly- MembroAvançado
- PONTOS : 2978
REPUTAÇÃO : 29
Respeito as regras :
Re: Duvidas sobre soma entre float
Pra qualquer múltiplo de 5:
- Código:
var soma = 0;
if(Index == 1){
soma = valor[0] + valor[1];
}
if(Index % 5 == 0){
for(int j = 1; j <= (Index / 5 + 1); j++){
soma += valor[j]
}
}
if(Index != 0)
texto.text = soma.ToString();
else
texto.text = valor[0].ToString();
Re: Duvidas sobre soma entre float
@MayLeone e @stratengine
pode ser uma coisa doida de se perguntar, mais existe um jeito de somar e subtrair um metodo só
por exemplo com o do post acima ele soma, mais se eu quizer subtrair eu tenho que criar outro case separado e ficaria assim
Entao há um jeito de criar apenas 1 lista de case para o esse mesmo proposito e fazer a manipulacao das somas e subtrair pelas void (anterior e proximo)?
pode ser uma coisa doida de se perguntar, mais existe um jeito de somar e subtrair um metodo só
por exemplo com o do post acima ele soma, mais se eu quizer subtrair eu tenho que criar outro case separado e ficaria assim
Entao há um jeito de criar apenas 1 lista de case para o esse mesmo proposito e fazer a manipulacao das somas e subtrair pelas void (anterior e proximo)?
- Código:
void anterior(){
//subtrair valor
Index--;
switch (Index)
{
case 0: {
texto.text = valor[0].ToString;
}
break;
case 1: {
texto.text = (valor[0]-valor[1]).ToString;
}
break;
case 5: {
texto.text = (valor[1]-valor[2]).ToString;
}
break;
break;
case 10: {
texto.text = (valor[1]-valor[2]-valor[3]).ToString;
}
break;
}
void proximo(){
//somar valor
Index++;
switch (Index)
{
case 0: {
texto.text = valor[0].ToString;
}
break;
case 1: {
texto.text = (valor[0]+valor[1]).ToString;
}
break;
case 5: {
texto.text = (valor[1]+valor[2]).ToString;
}
break;
break;
case 10: {
texto.text = (valor[1]+valor[2]+valor[3]).ToString;
}
break;
}
michelly- MembroAvançado
- PONTOS : 2978
REPUTAÇÃO : 29
Respeito as regras :
Re: Duvidas sobre soma entre float
da pra fazer por 2 voids, uma para soma e outra subtração, e chamar elas pelo nome delas(string) que estaria contida em uma variável.
mas acho que ficaria tão complicado a implementação que acabaria comepensando mais repetir os CASEs.
mas acho que ficaria tão complicado a implementação que acabaria comepensando mais repetir os CASEs.
Re: Duvidas sobre soma entre float
o melhor nesse caso é o do MayLeone.
ali vc da pra por dentro
[list=linenums]
[*]var soma = 0;
[*]var subtracao = 0;
[*]if(Index == 1){
[*]soma = valor[0] + valor[1];
[*]subtracao = Valor[0] - valor[1];
[*]}
[*]if(Index % 5 == 0){
[*]for(int j = 1; j <= (Index / 5 + 1); j++){
[*]soma += valor[j]
[*]}
[*]}
[*]if(Index != 0)
[*]texto.text = soma.ToString();
[*]else
[*]texto.text = valor[0].ToString();
[/list]
ali vc da pra por dentro
[list=linenums]
[*]var soma = 0;
[*]var subtracao = 0;
[*]if(Index == 1){
[*]soma = valor[0] + valor[1];
[*]subtracao = Valor[0] - valor[1];
[*]}
[*]if(Index % 5 == 0){
[*]for(int j = 1; j <= (Index / 5 + 1); j++){
[*]soma += valor[j]
[*]}
[*]}
[*]if(Index != 0)
[*]texto.text = soma.ToString();
[*]else
[*]texto.text = valor[0].ToString();
[/list]
Tópicos semelhantes
» Dúvidas sobre jogo.
» Duvidas sobre jogos 2d
» Duvidas sobre compilação
» Duvidas Sobre Sistemas!
» Duvidas Sobre Texturização
» Duvidas sobre jogos 2d
» Duvidas sobre compilação
» Duvidas Sobre Sistemas!
» Duvidas Sobre Texturização
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos