Ввод данных заменен на инициализацию от датчика псевдослучайных чисел на интервале [-45;45]. Если нужен именно ввод, строку A(I)=RND... замените на INPUT(A(I))
CONST n = 10 DIM a(1 TO n, 1 TO n) AS INTEGER RANDOMIZE TIMER CLS PRINT "Матрица A" FOR i = 1 TO n FOR j = 1 TO n a(i, j) = INT(90 * RND - 45) PRINT USING ""; a(i, j); NEXT j PRINT NEXT i k = 0 FOR i = 1 TO n IF a(i, i) > 0 THEN k = k + 1 NEXT i PRINT PRINT "Количество положительных на ГД равно "; k
На языке С++
Объяснение:
#include <iostream>
using namespace std;
long double fact(int N)
{
if(N < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (N == 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)
else // Во всех остальных случаях
return N * fact(N - 1); // делаем рекурсию.
}
int main(){
double ans=1,x;
cin>>x;
double temp=1,tempx,step;
while(temp>=0.000001){
tempx=1;
for(int i=1;i<step;i++)
tempx *= x;
temp = tempx / fact(step);
ans+=temp;
step++;
}
cout<<ans;
return 0;}