Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Не перечисляет массив


Автор: ATAMAN200 21.11.2010, 14:23
Извеняюсь за код так как это pawno скриптинг но он похож на C++ поэтму пишю тут.

Код

#include <a_samp>
#include <a_players>
#include <a_vehicles>
 
forward Func();
 
main()
{
}
 
public Func()
{
new bbb=0,
    ddd=0,
        string3[30];
 
new Float:x1[20],
    Float:y1[20],
    Float:z1[20],
    
    Float:x2[20],
    Float:y2[20],
    Float:z2[20],
    
    Float:streee1[30],
    Float:strfff1[30];
 
bbb = GetMaxPlayers();
 
for(new aaa=0; aaa < bbb; aaa++)
{
if(IsPlayerInAnyVehicle(aaa)==1)
{
ddd = GetPlayerVehicleID(aaa);
GetVehiclePos(ddd, x1[aaa], y1[aaa], z1[aaa]); //узнаёт координаты трспорта и запоминает в массивы "x1[aaa], y1[aaa], z1[aaa]"
}
else if(IsPlayerInAnyVehicle(aaa)==0)
{
GetPlayerPos(aaa,x2[aaa],y2[aaa],z2[aaa]);//узнаёт координаты всех игроков и запоминает в массивы "x2[aaa], y2[aaa], z2[aaa]"
}
}
 
for(new ooo=0; ooo < bbb; ooo++)
{
for(new uuu=0; uuu < bbb; uuu++)
{
streee1[uuu] = x1[uuu] - x2[ooo]; //Ошибка вот тут не перечисляет x2[ooo]
strfff1[uuu] = y1[uuu] - y2[ooo]; //Ошибка вот тут не перечисляет y2[ooo]
}}
 
for(new rrr=0; rrr < bbb*bbb; rrr++)
{
format(string3[rrr], sizeof(string3), "%f,%f",streee1[rrr],strfff1[rrr]); //форматирует полученные разници между x1[uuu] - x2[ooo] и y1[uuu] - y2[ooo] в вещественное число и передает в строку string3[rrr]
SendClientMessageToAll(0xFFFF00AA, string3[rrr]); //отображает на экран результат вычесления streee1[uuu] = x1[uuu] - x2[ooo]; и strfff1[uuu] = y1[uuu] - y2[ooo]; 
}
return 1;
}
 
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
SetTimer("Func",1000,1); //каждую секунду запускает на выполнения функцию public Func()
return 1;
} 
 
   


Автор: mes 21.11.2010, 14:38
Цитата(ATAMAN200 @  21.11.2010,  13:23 Найти цитируемый пост)

for(new ooo=0; ooo < bbb; ooo++)
{
for(new uuu=0; uuu < bbb; uuu++)
{
streee1[uuu] = x1[uuu] - x2[ooo]; //Ошибка вот тут не перечисляет x2[ooo]
strfff1[uuu] = y1[uuu] - y2[ooo]; //Ошибка вот тут не перечисляет y2[ooo]
}}

внешний цикл не используется...
т.е код аналогичен этому :
Код

for(new uuu=0; uuu < bbb; uuu++)
{
streee1[uuu] = x1[uuu] - x2[bbb-1]; 
strfff1[uuu] = y1[uuu] - y2[bbb-1]; 
}


Добавлено через 14 секунд
Цитата(ATAMAN200 @  21.11.2010,  13:23 Найти цитируемый пост)
 но он похож на C++ поэтму пишю тут.

 smile  smile

Добавлено через 1 минуту и 9 секунд
Цитата(ATAMAN200 @  21.11.2010,  13:23 Найти цитируемый пост)
//Ошибка вот тут не перечисляет x2[ooo]

что значит "не перечисляет " ? выдает ошибку или результат не удовлетворяет ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)