Допоможіть будь-ласка! С++
Задано числовий масив A[m]. Написати програму для рахування та друкування кількості різних чисел в цьому масиві. Перетворити масив таким чином, щоб спочатку розташовувалися всі додатні елементи, а потім − усі від’ємні (елементи, рівні 0, вважати додатними).
Програма повинна містити введення вхідних даних, виклик функції, в якій реалізовано розв’язання, та виведення результатів.
Ответы
Ответ:
Ось приклад програми на мові Python, яка виконує вказані завдання:
```python
def count_unique_numbers(arr):
unique_numbers = set(arr)
return len(unique_numbers)
def rearrange_array(arr):
positive_numbers = [num for num in arr if num >= 0]
negative_numbers = [num for num in arr if num < 0]
arranged_array = positive_numbers + negative_numbers
return arranged_array
def main():
# Введення вхідних даних
m = int(input("Введіть розмір масиву: "))
A = []
for i in range(m):
num = int(input(f"Введіть елемент A[{i}]: "))
A.append(num)
# Виклик функцій та виведення результатів
unique_count = count_unique_numbers(A)
print(f"Кількість різних чисел в масиві: {unique_count}")
arranged_array = rearrange_array(A)
print("Масив після перетворення:")
print(arranged_array)
if __name__ == "__main__":
main()
```
Ця програма вводить розмір масиву та його елементи, після чого рахує та виводить кількість різних чисел у масиві та перетворює його відповідно до зазначених умов.Ось невеликий приклад програми на мові C++, яка виконує вказані завдання:
```cpp
#include <iostream>
#include <algorithm>
#include <unordered_set>
// Функція для рахування кількості різних чисел в масиві
int countUniqueNumbers(int arr[], int size) {
std::unordered_set<int> uniqueNumbers(arr, arr + size);
return uniqueNumbers.size();
}
// Функція для перетворення масиву
void rearrangeArray(int arr[], int size) {
// Розділити масив на додатні та від'ємні елементи
std::partition(arr, arr + size, [](int x) { return x >= 0; });
}
int main() {
int m;
// Введення розміру масиву
std::cout << "Введіть розмір масиву: ";
std::cin >> m;
int A[m];
// Введення елементів масиву
std::cout << "Введіть елементи масиву:\n";
for (int i = 0; i < m; ++i) {
std::cout << "A[" << i << "]: ";
std::cin >> A[i];
}
// Виклик функцій та виведення результатів
int uniqueCount = countUniqueNumbers(A, m);
std::cout << "Кількість різних чисел в масиві: " << uniqueCount << std::endl;
rearrangeArray(A, m);
// Виведення перетвореного масиву
std::cout << "Масив після перетворення: ";
for (int i = 0; i < m; ++i) {
std::cout << A[i] << " ";
}
return 0;
}
```
Ця програма використовує стандартні бібліотеки C++ для рахування кількості різних чисел у масиві та перетворення масиву відповідно до вказаних умов.