Автор | Цикл в С# |
Не получается такая фишка в программе: есть динамический массив, нужно проверить все элементы массива - являются ли полными квадратами и вывести их кол-во на экран. Код вроде бы написал, но есть неточность при подсчете количества. Что посоветуете? |
Хотя я не по 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: паскаль и делфи - мертвые языки на них никто не пишет, а Си развивается всё время!!! |