Excel. Созданы 3 Листа. Вводим данные в таблицу на Лист 1, как только указываем материал, например, железо, необходимо чтобы строка перенеслась в таблицу на Лист 2 (автоматически), если материал "Дерево", то полностью строка в таблицу на Лист 3 (автоматически). Как должно получится, пример:
Const n=10; type ar=array[1..n+1] of integer; var a:ar; i,p:integer; procedure pr(var a:ar; p:integer; var k:integer); begin k:=1; while a[k]<>p do k:=k+1; end; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(31); write(a[i]:4); end; writeln; p:=17; a[n+1]:=p; pr(a,p,i); if i<n then writeln('Значение 17 найдено, номер элемента = ',i) else writeln('Значения 17 в массиве нет'); end.
Пример: Массив A: 14 5 7 17 25 15 28 0 24 0 Значение 17 найдено, номер элемента = 4
#include <iostream> using namespace std; double val, p; //вводимые параметры значения функции и степень полинома //x - значение функции //res - значение, которое изменяется в процессе рекурсии по схеме Горнера //s - рассматриваемая текущая степень x double rec(double x, double res, double s) { if (s == 0.0) return res; return rec(x, x * res + s - 1, s - 1); } int main(){ cin >> val >> p; //старший коэффициент в схеме Горнера сначала сносится вниз, //поэтому его передаем в качестве начального параметра для результата cout << fixed << rec(val, p, p) << endl; return 0; }
type ar=array[1..n+1] of integer;
var
a:ar; i,p:integer;
procedure pr(var a:ar; p:integer; var k:integer);
begin
k:=1;
while a[k]<>p do k:=k+1;
end;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(31);
write(a[i]:4);
end;
writeln;
p:=17;
a[n+1]:=p;
pr(a,p,i);
if i<n
then writeln('Значение 17 найдено, номер элемента = ',i)
else writeln('Значения 17 в массиве нет');
end.
Пример:
Массив A:
14 5 7 17 25 15 28 0 24 0
Значение 17 найдено, номер элемента = 4
using namespace std;
double val, p;
//вводимые параметры значения функции и степень полинома
//x - значение функции
//res - значение, которое изменяется в процессе рекурсии по схеме Горнера
//s - рассматриваемая текущая степень x
double rec(double x, double res, double s)
{
if (s == 0.0)
return res;
return rec(x, x * res + s - 1, s - 1);
}
int main(){
cin >> val >> p;
//старший коэффициент в схеме Горнера сначала сносится вниз,
//поэтому его передаем в качестве начального параметра для результата
cout << fixed << rec(val, p, p) << endl;
return 0;
}