C/C++
Написать функцию, определяющую количество положительных, отрицательных и нулевых элементов передаваемого ей массива.
Пожалуйста, надо ещё написать корректный код на C++
Можно ещё сделать, чтоб функция возвращала, например, структуру:
#include
#include
#include
#include
using namespace std;
struct npz { unsigned n, p, z; };
npz f(int X[], int size)
{
npz x; x.n = x.p = 0;
for (int i = 0; i < size; i++)
if (X[i] > 0) x.p++; else if (X[i] < 0) x.n++;
x.z = size - x.p - x.n; return x;
}
int main()
{
npz x; int i, j = 0, n; cout > n;
int *A = new int [n]; srand(time(nullptr));
for (i = 0; i < n; i++)
{
A[i] = rand() % 1999 - 999;
cout
Ответ на вопрос, который был удалён.
#include
#include
#include
int nuli(int n)
{
int r = 1;
return n == 0 ? r : 10 * nuli(n-1);
}
int make(int number, int * mas, int i)
{
mas[4-i] = ( number / nuli(i-1) ) % 10;
i--;
return i > 0 ? make(number, mas, i) : i;
}
void count(int z, int n, int & c, int & u)
{
int mz[4],mn[4];
c=0,u=0;
bool tf;
make(z, mz, 4);
make(n, mn, 4);
for(int x = 0; x < 4; x++)
{
for(int y = 0; y < 4; y++)
{
tf = true;
for(int zi = 0; zi < y; zi++)
{
if(mn[y] == mn[zi])
{
tf = false;
break;
}
}
if(tf)
{
if(mz[x] == mn[y])
{
c++;
if(mz[x] == mn[x])
u++;
}
}
}
}
return;
}
bool action(int n, int z, int & c, int & u, int & count_try)
{
std::cin >> n;
if(n < 1000 || n > 9999)
{
std::cerr
#include <iostream>
using namespace std;
void count_numbers(int arr[], int n, int& pos, int& neg, int& zero) {
pos = 0;
neg = 0;
zero = 0;
for (int i = 0; i < n; i++) {
if (arr[i] > 0) {
pos++;
} else if (arr[i] < 0) {
neg++;
} else {
zero++;
}
}
}
int main() {
const int n = 10; // размер массива
int arr[n] = {4, -6, 2, 0, -1, 0, 7, -8, 3, 0}; // исходный массив
int pos, neg, zero; // переменные для количества положительных, отрицательных и нулевых элементов
count_numbers(arr, n, pos, neg, zero);
cout << "Number of positive elements: " << pos << endl;
cout << "Number of negative elements: " << neg << endl;
cout << "Number of zero elements: " << zero << endl;
return 0;
}
using namespace std;
void count_numbers(int arr[], int n, int& pos, int& neg, int& zero) {
pos = 0;
neg = 0;
zero = 0;
for (int i = 0; i < n; i++) {
if (arr[i] > 0) {
pos++;
} else if (arr[i] < 0) {
neg++;
} else {
zero++;
}
}
}
int main() {
const int n = 10; // размер массива
int arr[n] = {4, -6, 2, 0, -1, 0, 7, -8, 3, 0}; // исходный массив
int pos, neg, zero; // переменные для количества положительных, отрицательных и нулевых элементов
count_numbers(arr, n, pos, neg, zero);
cout << "Number of positive elements: " << pos << endl;
cout << "Number of negative elements: " << neg << endl;
cout << "Number of zero elements: " << zero << endl;
return 0;
}
Похожие вопросы
- Создание программы на вычисление большего количества положительных или отрицательных элементов в среде c++
- Написал функцию, которая добавляет элемент в конец массива, как можно улучшить? Нули не учитываются.
- Если массив из 10 элементов содержит хотя бы один нулевой элемент
- Задачка по СИ на вставку элемента в динамический массив.
- Дан целочисленный массив с количеством элементов п. Сжать массив, выбросив из него каждый второй элемент.
- Распределение элементов в динамическом массиве
- C++. Где ошибка?Необходимо определенное количество раз выполнить поиск номера элемента в массиве по его значению.
- C++. Где тут есть ошибка?Нужно определенное количество раз выполнить поиск номера элемента в массиве по его значению.
- Каким образом можно удалить элементы из динамического массива C++(без использования вспомогательного массива)
- Как написать функцию в c++ которая складывает все положительные числа