Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
3:50
930
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2|3|4

АвторЦикл в С#
Не получается такая фишка в программе: есть динамический массив, нужно проверить все элементы массива - являются ли полными квадратами и вывести их кол-во на экран. Код вроде бы написал, но есть неточность при подсчете количества. Что посоветуете?
Хотя я не по C#, а по паскалю, но скажу:

Код в студию!
Вот в общем-то сам код:
void main ()
{ float *p,d;
int i,n,j,g,t;
g = 0;
printf("\n input n: ");
scanf("%d",&n);
p=(float *)malloc(n*sizeof(float));
for (i=0; i<n; i++)
{ printf("x[%d]= ",i);
scanf("%f",&d);
p[i]=d;
}
for(i=1;i<n;i++)
{
if (p[i]=j*j)
{g=g+1;}
}
printf ("%d", g);
getchar();
getchar();
}
if (p[i]=j*j)
j - откуда?
а вообще проверку надо делать наоборот - проверять является ли корень числа из массива целым числом
ну, предполагается, что j это какое-то число, при возведении в квадрат которого, мы и получим элемент массива.
Чую, тут и накосячил. Как задать?
я вообще не знаю С#, но как-то так:

if (Srqt(p[i])=ABS(Sqrt(p[i]))
{g=g+1;}
if (Srqt(p[i])=ABS(Sqrt(p[i]))
АВС - модуль, в данном случае, всегда будет равен тому что слева. Надо юзать int(p[i]) ака целая часть числа...наверное (:
ПС: я вообще не знаю С
Хм, ругается на if. Пишет что "lvalue required as left operand of assignment".
Если юзать int, то требует перед этим ещё какое-то выражение
для Lokosios:
Щито!?
Вот в общем-то сам код: это не С# это Си
для Triode:
Суть не в этом, голова кипит уже :D
в первой части srqt вместо sqrt написано. А вообще напрочь забыл С, помню только паскаль:)
попробуй trunc вместо инт, не на перфокарте же пишешь :/
а вообще я так понял, это что то типа несовместимости типа данных, что логично учитывая что корень реал, а инт, наверное, инт.....
для SPQRX:
Да, это в общем-то не важно. Хочу понять, через что сделать лучше.
для Somefreeknight:
lvalue required as left operand of assignment
для Lokosios:
Через что сделать лучше - паскаль делфи и т д но только не С уж больно убог:)не люблю его.
Эх, я бы давно через Паскаль бы сделал, но надо на С)
для SPQRX:
только не С уж больно убог
*пошел за дубиной*
для SPQRX: паскаль и делфи - мертвые языки на них никто не пишет, а Си развивается всё время!!!
1|2|3|4
К списку тем
2007-2025, онлайн игры HeroesWM