Пожалуйста помогите решить задачу!
В одномерном массиве, состоящем из N вещественных элементов, вычислить:
1) Кол-во положительных элементов массива
2) Сумму элементов массива, расположенных после последнего элемента равного нулю.
Преобразовать массив таким образом, чтобы сначала располагались все элементы,
целая часть которых не превышает 1, а потом все остальные
Другие языки программирования и технологии
Помогите решить задачу (Visual c++)
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const size_t N = 10;
double arr[N];
for (rsize_t n = 0, k = 0; n < N; n++) {
cout << " arr[" << n << "] -> ";
cin >> arr[n];
}
unsigned count = 0;
for (rsize_t n = 0; n < N; n++) if (arr[n] >= 0) ++count;
locale::global(locale(""));
if (count) cout << " Количество положительных: " << count << endl;
else cout << " Нет положительных! \n";
double sum = 0;
int n;
for (n = N - 1; n >= 0 && arr[n]; n--) sum += arr[n];
if (n >= 0) cout << " Сумма = " << sum << endl;
else cout << " Нет нулевого элемента! \n";
double temp, next, current;
rsize_t m;
for (int n = 1; n < N; n++)
for (m = 0; m < N - n; m++) {
current = int(abs(arr[m]));
next = int(abs(arr[m + 1]));
if (current > 1 && next <= 1) {
temp = arr[m];
arr[m] = arr[m + 1];
arr[m + 1] = temp;
}
}
for (rsize_t n = 0; n < N; n++) cout << setw(7) << arr[n];
cin.get(); cin.get();
return 0;
}
#include <iomanip>
using namespace std;
int main() {
const size_t N = 10;
double arr[N];
for (rsize_t n = 0, k = 0; n < N; n++) {
cout << " arr[" << n << "] -> ";
cin >> arr[n];
}
unsigned count = 0;
for (rsize_t n = 0; n < N; n++) if (arr[n] >= 0) ++count;
locale::global(locale(""));
if (count) cout << " Количество положительных: " << count << endl;
else cout << " Нет положительных! \n";
double sum = 0;
int n;
for (n = N - 1; n >= 0 && arr[n]; n--) sum += arr[n];
if (n >= 0) cout << " Сумма = " << sum << endl;
else cout << " Нет нулевого элемента! \n";
double temp, next, current;
rsize_t m;
for (int n = 1; n < N; n++)
for (m = 0; m < N - n; m++) {
current = int(abs(arr[m]));
next = int(abs(arr[m + 1]));
if (current > 1 && next <= 1) {
temp = arr[m];
arr[m] = arr[m + 1];
arr[m + 1] = temp;
}
}
for (rsize_t n = 0; n < N; n++) cout << setw(7) << arr[n];
cin.get(); cin.get();
return 0;
}
а в чем проблема?
1) for (int a = 0; a < N ;a++) (mas [ a ] <0)? i++;
2) int a = N-1;
float sum = 0;
while(mass [ a ] != 0) {sum+= mass [ a ] ; a--;}
2) int a = N-1;
float sum = 0;
while(mass [ a ] != 0) {sum+= mass [ a ] ; a--;}
Похожие вопросы
- Помогите решить задачи на C#
- Помогите решить задачи по C++
- Помогите решить задачу на C или C++, пожалуйста.
- Помогите решить задачу по C++
- помогите решить задачу математически. C++
- Помогите решить задачу на C++
- Помогите решить задачу на C++. Двумерные массивы.
- помогите решить задачу на c++
- Помогите решить задачу по C#
- Помогите решить задачу в visual studio c++