C/C++

Программирование на C++ с использованием динамического массива

Решение каждого задания должно быть выполнено с разбиением на методы, которые выполняют инициализацию и непосредственное решение задачи. Лабораторная работа предполагает использование динамических массивов.
1.Задан числовой массив, состоящий из n элементов (n<=100). Написать функцию, определяющую есть ли среди элементов хоть один нулевой.
Vl@disl@v @)
Vl@disl@v @)
249
#include <algorithm>
#include <iostream>
#include <ctime>
using namespace std;

// Заполняет массив
void InputArray (int* arr, int size) {
//srand(time(0));
//for(int i = 0; i < size; ++i) arr[i] = rand() % 20 + 1;
for (int i = 0; i < size; ++i) {
cout << "Enter the number " << i + 1 << ": ";
cin >> arr[i];
}
}

// Выводит массив на экран
void Print (int* arr, int size) {
cout << "Array: ";
for (int i = 0; i < size; ++i)
cout << arr[i] << " ";
}

// Проверяет, есть ли нули в массиве
bool IsZeroInArray (int* arr, int size) {
return count (arr, arr + size, 0);
}

int main() {
cout << "Enter a size of the array: ";
int size;
cin >> size;
int* arr = new int[size];

InputArray (arr, size);
Print (arr, size);

cout << "\n\nThere are";
cout << (IsZeroInArray(arr, size) ? " " : " no ");
cout << "zero(s) in the array\n";

delete[] arr;
return 0;
}
Евгений ...
Евгений ...
6 243
Лучший ответ
#include "iostream"
#include "ctime"
#include "cstdlib"
using namespace std;
void init(int *a, int n){srand(time(NULL)); for(int i=0;i< n;i++)a[i]=rand()%21-10;}
void print(int *a, int n){for(int i=0;i< n;i++)cout<< a[i]<<' '; cout<< endl;}
bool test(int *a, int n){bool b=false; for(int i=0;i< n;i++)if(!a[i])b=true; return b;}
int main(){
int n,*a; cout<<"n: "; cin>>n; a=new int[n];
init(a,n); print(a,n); cout<< "Result: "<< boolalpha<< test(a,n)<< endl;}
The Musician.. ...
The Musician.. ...
58 523