Error C2668: 'pow': ambiguous call to overloaded function - C (СИ)
Формулировка задачи:
Всем доброй ночи! Проблемка с функцией pow. Ошибка в строке 83:
error C2668: 'pow' : ambiguous call to overloaded function
#include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <time.h> #include <string.h> #include <math.h> int prostoe_chislo(); int prostoe_chislo() { int a; static time_t tval = time(0); tval += 10; srand(tval); while(1) { int z=0,kol=0; a=1+rand()%100; for(int i=2;i<a;i++) { if(a%i==1) continue; if(a%i==0) { z=1; break;} } if(z==0) break; } return a; } int _tmain(int argc, _TCHAR* argv[]) { int p,q,N,e,f,mas[100],kol=0,i,j; char alf[] = {'a','b','c','d','e','f','g','h','i','j', 'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},s[100]; float y[100]; p=prostoe_chislo(); printf("prostoe chislo p:%d\n",p); q=prostoe_chislo(); printf("prostoe chislo q:%d\n",q); N=p*q; printf("proizvedenie N:%d\n",N); f=(p-1)*(q-1); printf("funczija eylera f(p,q):%d\n",f); while(1) { int k,flag; srand(time(NULL)); e=1+rand()%100; if(e<=f) k=e; else k=f; for(int i=2;i<=k;i++) { flag=0; if(e%i==0&&f%i==0) { flag=1; break;} } if(flag==0) break; } printf("vzaimo prostoe chislo e:%d\n",e); float d=((float)f+1)/e; printf("chislo d:%f\n",d); printf("otkritiy klych [%d,%d]\n",e,N); printf("zakritiy klych [%f,%d]\n",d,N); printf("vvedite stroku: "); scanf("%s",s); for(i=0;s[i]!='\0';i++) { for(j=0;j<26;j++) { if(s[i]==alf[j]) { mas[kol]=j+1; kol++;} } } for(i=0;i<kol;i++) printf("%c - %d\n",s[i],mas[i]); printf("zashifrovanoe soobschenie:\n"); for(i=0;i<kol;i++) { y[i]=(pow(mas[i],e))%N; printf("%f\n",y[i]); } return 0; }
Решение задачи: «Error C2668: 'pow': ambiguous call to overloaded function»
textual
Листинг программы
error C2668: 'pow' : ambiguous call to overloaded function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д