Определить сумму элементов, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные... .
Понятия не имею как это сделать но оооочень надо, заранее спасибо))))))))
Другие языки программирования и технологии
Помогите решить задачу на C++. Двумерные массивы.
#include <ctime>
#include <cstdlib>
#include <numeric>
#include <iomanip>
#include <iterator>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
srand(time(0));
int a[4][6], *b = &a[0][0], *e = &a[0][0] + 4 * 6;
cout << "array:\n";
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 6; ++c) cout << setw(3) << (a[r][c] = rand() % 19 - 9);
cout << endl;
}
int *fp = find_if(b, e, bind2nd(greater<int>(), 0));
int *lp = find_if(
reverse_iterator<int>(e), reverse_iterator<int>(b),
bind2nd(greater<int>(), 0)).base();
cout << "sum: " << accumulate(fp + 1, lp, 0) << endl;
int *r = remove(reverse_iterator<int>(e), reverse_iterator<int>(b), 0).base();
fill(b, r, 0);
cout << "result array:\n";
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 6; ++c) cout << setw(3) << a[r][c];
cout << endl;
}
return 0;
}
#include <cstdlib>
#include <numeric>
#include <iomanip>
#include <iterator>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
srand(time(0));
int a[4][6], *b = &a[0][0], *e = &a[0][0] + 4 * 6;
cout << "array:\n";
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 6; ++c) cout << setw(3) << (a[r][c] = rand() % 19 - 9);
cout << endl;
}
int *fp = find_if(b, e, bind2nd(greater<int>(), 0));
int *lp = find_if(
reverse_iterator<int>(e), reverse_iterator<int>(b),
bind2nd(greater<int>(), 0)).base();
cout << "sum: " << accumulate(fp + 1, lp, 0) << endl;
int *r = remove(reverse_iterator<int>(e), reverse_iterator<int>(b), 0).base();
fill(b, r, 0);
cout << "result array:\n";
for (int r = 0; r < 4; ++r) {
for (int c = 0; c < 6; ++c) cout << setw(3) << a[r][c];
cout << endl;
}
return 0;
}
А, без проблем. 150 р. Скайп - mssove Почту знаешь. Пиши.
Похожие вопросы
- Помогите решить задачи на C#
- Помогите решить задачу (Visual c++)
- Помогите решить задачи по C++
- Помогите решить задачу на C или C++, пожалуйста.
- Помогите решить задачу по C++
- помогите решить задачу математически. C++
- Помогите решить задачу на C++
- помогите решить задачу на c++
- Помогите решить задачу по C#
- Помогите решить задачу по паскалю на двумерные массивы.