На первом шаге цикла, ты пытаешся обратиться к A[1], т.к. цикл с i начинается с единицы, а массив у тебя объявлен как [10..99]. Объяви массив как [1..90].
И рандом(если тебе от 10 до 99) правильней m[i] := random(90)+10;
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "obrabotka massiva" << endl;
int array1[16] = { 5, -12, -12, 9, 10, 0, -9,
-12, -1, 23, 65, 64, 11, 43, 39, -15 };
cout << "indeks" << "\t\t" << "element massiva" << endl;
for (int counter = 0; counter < 16; counter++)
{
cout << "array1[" << counter << "]" << "\t\t" << array1[counter] << endl;
}
system("pause");
return 0;
}
Ответ:
1/30 часа = 2 минуты = 120 секунд
15 Кбайт = 15*2^10 байт= 15*2^13 бит
(15×2^13)/120= 5*2^11/10=2^10=1024 бит/сек
Function ProdDig(n:longint):longint;
var
p:longint;
begin
p:=1;
while n>0 do begin
p:=p*(n mod 10);
n:=n div 10
end;
ProdDig:=p
end;
var
f:Text;
a,b,c:longint;
begin
Assign(f,'abc.txt');
Reset(f);
Readln(f,a,b,c);
Close(f);
Assign(f,'abcout.txt');
Rewrite(f);
Writeln(f,ProdDig(a+b+c));
Close(f)
end.
<em><u>Вариант без использования функции:</u></em>
var
f:Text;
a,b,c,p,s:longint;
begin
Assign(f,'abc.txt');
Reset(f);
Readln(f,a,b,c);
Close(f);
s:=a+b+c; p:=1;
while s>0 do begin
p:=p*(s mod 10);
s:=s div 10
end;
Assign(f,'abcout.txt');
Rewrite(f);
Writeln(f,p);
Close(f)
end.