Перейти к содержанию

Проблема выполнения


Гость

Рекомендуемые сообщения

Подскажите плиз, где грабли:

#include

#include

#include

int main()

{

int pl, p1, p2, v, *m;

srand(time(NULL));

cin>>pl;

m = new int[pl];

for(int i=0; i<=pl; i++)

{

m=;

}

for(int i1=1; i1<=pl; i1++)

{

v = 1 + rand() % (pl - i1 + 1);

p1 = m[v];

m[v] = m[p1 - i1 + 1];

v = 1 + rand() % (pl - i1);

p2 = m[v];

m[v] = m[pl - i1];

cout<

}

return 0;

}

Если закомментировать строчки с получением случайного числа то работает. А вот под винду такой код катит. Тут же пробовал и под линухом и под фрю - результат

Floating point expection

Ссылка на комментарий
Поделиться на другие сайты

Подскажите плиз, где грабли:

#include

#include

#include

int main()

{

int pl, p1, p2, v, *m;

srand(time(NULL));

cin>>pl;

m = new int[pl];

for(int i=0; i<=pl; i++)

{

m=;

}

for(int i1=1; i1<=pl; i1++)

{

v = 1 + rand() % (pl - i1 + 1);

p1 = m[v];

m[v] = m[p1 - i1 + 1];

v = 1 + rand() % (pl - i1);

p2 = m[v];

m[v] = m[pl - i1];

cout<

}

return 0;

}

Если закомментировать строчки с получением случайного числа то работает. А вот под винду такой код катит. Тут же пробовал и под линухом и под фрю - результат

Floating point expection

Ссылка на комментарий
Поделиться на другие сайты

ne vdavayas' v podrobnosti est' takoe soobrazenie:

stroka v = 1 + rand() % (pl - i1 + 1);

poheritsya (nachent delit' na nol) v sluchae kogda i1 = 1 + p1;

toze same proizoidet s

v = 1 + rand() % (pl - i1) ;

kogda pl == i1 .... kak vidno iz zagolovka zikla

"i1 <=pl" takoe vpolne vozmozno.

pochemu windows delit na nol i schastliv skazat' mozno.

esli ya pravil'no ponimayu ANSI v takih sluchayah a % 0

razreshaet delat' shto ugodno.

eze odno zoobrazenie pochemu time(NULL)???

Ссылка на комментарий
Поделиться на другие сайты

ne vdavayas' v podrobnosti est' takoe soobrazenie:

stroka v = 1 + rand() % (pl - i1 + 1);

poheritsya (nachent delit' na nol) v sluchae kogda i1 = 1 + p1;

toze same proizoidet s

v = 1 + rand() % (pl - i1) ;

kogda pl == i1 .... kak vidno iz zagolovka zikla

"i1 <=pl" takoe vpolne vozmozno.

pochemu windows delit na nol i schastliv skazat' mozno.

esli ya pravil'no ponimayu ANSI v takih sluchayah a % 0

razreshaet delat' shto ugodno.

eze odno zoobrazenie pochemu time(NULL)???

Ссылка на комментарий
Поделиться на другие сайты

Всем пасиба. Изменил код на: (и заработало)

#include

#include

#include

//#include

int main()

{

int pl, p1, p2, v, c=0;

int *m;

bool b=false;

srand(time(NULL));

do{

cout<<"Vvedite kol-vo igrokov:"; cin>>pl;

switch(pl)

{case 4: case 8: case 16: case 32: case 64: b=true;

break;

default:

b=false; cout<<"Igrokov mojet biti 4, 8, 16, 32, 64.";

break; }

}while(b == false);

m = new int[pl+1];

for(int i1 = 0; i1<=pl; i1++)

{

m[i1]=i1; }

for(int i = 1; i<=pl; i+=2)

{ c++;

v = 1 + rand() % (pl - i) + 1;

p1 = m[v];

m[v] = m[(pl - i)+ 1];

v = 1 + rand() % (pl - i);

p2 = m[v];

m[v] = m[pl - i];

cout<

// if((c % 16) == 0)

// {

// cout<<"Press any key to continue"<

// }

} return 0;

}

Но опять же под виндой все работает как есть, а под фрю пришлось закомментировать строки (см. выше) так как пишет что файл

не найден. Мож кто знает, в чем дело?

Ссылка на комментарий
Поделиться на другие сайты

Всем пасиба. Изменил код на: (и заработало)

#include

#include

#include

//#include

int main()

{

int pl, p1, p2, v, c=0;

int *m;

bool b=false;

srand(time(NULL));

do{

cout<<"Vvedite kol-vo igrokov:"; cin>>pl;

switch(pl)

{case 4: case 8: case 16: case 32: case 64: b=true;

break;

default:

b=false; cout<<"Igrokov mojet biti 4, 8, 16, 32, 64.";

break; }

}while(b == false);

m = new int[pl+1];

for(int i1 = 0; i1<=pl; i1++)

{

m[i1]=i1; }

for(int i = 1; i<=pl; i+=2)

{ c++;

v = 1 + rand() % (pl - i) + 1;

p1 = m[v];

m[v] = m[(pl - i)+ 1];

v = 1 + rand() % (pl - i);

p2 = m[v];

m[v] = m[pl - i];

cout<

// if((c % 16) == 0)

// {

// cout<<"Press any key to continue"<

// }

} return 0;

}

Но опять же под виндой все работает как есть, а под фрю пришлось закомментировать строки (см. выше) так как пишет что файл

не найден. Мож кто знает, в чем дело?

Ссылка на комментарий
Поделиться на другие сайты

a vot na etoi ze stranize conferenzii kto-to uze psrashival

kak realizovat' pod linux.

nikto ne znaet. ya po-pravde skazet' pervii raz slishi

pro . podozrevayu shto chem-to pohoze na ncurses.

ya bi skorei vsego ponapisal kuchu

#ifdef WIN i #ifdef BSD i ispol'zoval bi ili sootvetstvenno.

Ссылка на комментарий
Поделиться на другие сайты

a vot na etoi ze stranize conferenzii kto-to uze psrashival

kak realizovat' pod linux.

nikto ne znaet. ya po-pravde skazet' pervii raz slishi

pro . podozrevayu shto chem-to pohoze na ncurses.

ya bi skorei vsego ponapisal kuchu

#ifdef WIN i #ifdef BSD i ispol'zoval bi ili sootvetstvenno.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...