@igorrr37
1817 / 1435 / 215
Регистрация: 21.12.2010
Сообщений: 2,346
|
12.09.2012, 21:39
|
|
1 C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| #include <iostream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <iomanip>
#include <memory>
int main()
{
std::size_t const r(6), c(6);
int mx[r][c];
srand(time(0));
//std::cout << sizeof(mx);
for(int i = 0; i < r * c; ++i)
{
std::cout << std::setw(5) << std::left << (*(*mx + i) = rand() % 41 - 20);
if(0 == (i + 1) % 6) std::cout << '\n';
}
int* pMax = std::max_element(*mx, *mx + r * c);
std::ptrdiff_t dist = pMax - *mx;
if(dist)
{
std::cout << "\nArray:\n";
std::unique_ptr<int[]> pArr(new int[dist]);
unsigned long long sum(0), prod(1);
for(int i = 0; i < dist; ++i)
{
pArr[i] = *(*mx + i);
if(pArr[i] > 0)
{
sum += pArr[i];
prod *= pArr[i];
}
std::cout << pArr[i] << " ";
}
if(sum)
std::cout << "\nsum: " << sum << "\nprod: " << prod << std::endl;
}
else std::cerr << "dist: " << dist << std::endl;
return 0;
} |
|
1
|