#include <iostream>
#include <windows.h>
#include <conio.h>
#include <ctime>
int main()
{
srand(time(NULL));
const int n = 20;
double r = 0;
int a[n];
system("cls");
for (int i = 0; i < n; i++)
{
a[i] = rand() % 50;
std::cout << a[i] << " ";
r += 1. / a[i];
}
std::cout << std::endl;
r = 1. / r;
std::cout << "R: " << r << std::endl;
getch();
return 0;
}
А)Друзей, грибы
Б)Анкету, ведро
В)Магазин, книгу
Г)Факты, верёвки
Д)Логику, свет
Е)Числа, рубашку
Ж)Горе, объём
З)Удачу, зайца
Сделать эту задачу можно двумя способами. Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).
<em>Var n:longint;</em>
<em>Function MinDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]<a then a:=s[i];</em>
<em> val(a,n,c);
</em> MinDigit:=n;
<em>end;</em>
<em>Function MaxDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]>a then a:=s[i];</em>
<em> val(a,n,c);
</em> MaxDigit:=n;
<em>end;</em>
<em>Begin</em>
<em> readln(n);</em>
<em> writeln(MinDigit(n),' ',MaxDigit(n));</em>
<em>End.
</em>По факту переменную <em>"c"</em> можно убрать из функций и использовать вместо нее уже не нужную в конце <em>"i"</em>, таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.
В результате выполнения этой программы будет напечатан 0
Если трассировать программу по шагам то мы увидим что s меняется в цикле вот так
s1=-4
s2=12
s3=-24
s4=24
Начиная с 5 шага получаем (5-5)*s т.е 0 и далее чтобы мы на 0 не умножали так и будет 0
Решение в прикрепленном файле ниже: