Portal SAMP
[Ajuda] Lógica! - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Lógica! (/showthread.php?tid=1612)



Lógica! - SrBlue - 06/09/2021

Galera,  boa noite/tade/dia



me ajudem com uma logíca!



tenho uma variavel:


Código:
a[12];

a[1] = "AAA"
a[2] = "BB"
a[3] = ""
a[4] = "AAA"
a[5] = "DD"
a[6] = "AAA"


usando método "otimizado" tipo foreach,
como posso verificar se o slot a[3] está vazio
e retornar o valor da a[4] na a[3]
e o valor da a[5] na a[4]??

Mandem somente exemplo de codigo não precisa ser FUNCIONAL!

#quebra_cabeça


RE: Lógica! - SrBlue - 07/09/2021

possivel solucao:

for i in a[12] if(a[i]="") a[i] = a[i+1]


RE: Lógica! - Dr Editor - 07/09/2021

(07/09/2021 00:20)SrBlue Escreveu: possivel solucao:

for i in a[12] if(a[i]="") a[i] = a[i+1]

Exemplo funcional (Pawn):
Lembre-se de verificar se é o último index da array!!!
Código:
new arr[6][5];

arr[0] = "111";
arr[1] = "222";
arr[2] = "333";
arr[3] = "444";
arr[4] = "";
arr[5] = "666";

for(new i = 0; i < sizeof arr; i ++)
{
    if(arr[i][0] == '\0')
    {
        printf("%s", i + 1 >= sizeof arr ? "Último index!" : arr[i + 1]);
    }
}



RE: Lógica! - SrBlue - 07/09/2021

(07/09/2021 08:13)Dr Editor Escreveu:
(07/09/2021 00:20)SrBlue Escreveu: possivel solucao:

for i in a[12] if(a[i]="") a[i] = a[i+1]

Exemplo funcional (Pawn):
Lembre-se de verificar se é o último index da array!!!
Código:
new arr[6][5];

arr[0] = "111";
arr[1] = "222";
arr[2] = "333";
arr[3] = "444";
arr[4] = "";
arr[5] = "666";

for(new i = 0; i < sizeof arr; i ++)
{
    if(arr[i][0] == '\0')
    {
        printf("%s", i + 1 >= sizeof arr ? "Último index!" : arr[i + 1]);
    }
}
perfeito!, funciona tanto para vetores tipo int tanto str Smile