C/C++
Можно через delete [ ] ? c++ помогите пожалуйста!
В массиве хранится информация о росте 25 человек. Определить, на сколько рост самого высокого человека превышает рост самого низкого.
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int integer(const char* msg) {
cout << msg;
int value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
auto n = integer("Количество учеников в классе: ");
auto box = new int[n];
if (n > 0 && box) {
uniform_int_distribution<> uid(140, 185);
mt19937 gen{ random_device()() };
auto rand = [uid, &gen] { return uid(gen); };
auto show = [](int x) { cout << setw(4) << x; };
generate(box, box + n, rand);
for_each(box, box + n, show);
puts("");
auto [min, max] = minmax_element(box, box + n);
auto difference = *max - *min;
cout
<< "Максимальный рост: " << *max << '\n'
<< "Минимальный рост: " << *min << '\n'
<< "Максимальная разница в росте: " << difference << '\n';
} else {
puts("Недопустимый размер массива!");
}
if (box) delete[] box;
system("pause > nul");
}
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int integer(const char* msg) {
cout << msg;
int value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
auto n = integer("Количество учеников в классе: ");
auto box = new int[n];
if (n > 0 && box) {
uniform_int_distribution<> uid(140, 185);
mt19937 gen{ random_device()() };
auto rand = [uid, &gen] { return uid(gen); };
auto show = [](int x) { cout << setw(4) << x; };
generate(box, box + n, rand);
for_each(box, box + n, show);
puts("");
auto [min, max] = minmax_element(box, box + n);
auto difference = *max - *min;
cout
<< "Максимальный рост: " << *max << '\n'
<< "Минимальный рост: " << *min << '\n'
<< "Максимальная разница в росте: " << difference << '\n';
} else {
puts("Недопустимый размер массива!");
}
if (box) delete[] box;
system("pause > nul");
}
Написать в программе delete [ ] можно, но он тут нужен даже меньше, чем рыбке зонтик. Только усложняет программу, как и вообще динамический массив в ней. Но если требуют...
#include "iostream"
#include "algorithm"
#include "ctime"
#include "cstdlib"
using namespace std;
int main(){
int n=25, *a=new int[n]; srand(time(NULL));
for(int i=0;i< n;i++)cout<<(a[i]=rand()%50+150)<<' ';
cout<<"\nDifference "<<*max_element(a,a+n)-*min_element(a,a+n)<<'\n';
delete []a;}
#include "iostream"
#include "algorithm"
#include "ctime"
#include "cstdlib"
using namespace std;
int main(){
int n=25, *a=new int[n]; srand(time(NULL));
for(int i=0;i< n;i++)cout<<(a[i]=rand()%50+150)<<' ';
cout<<"\nDifference "<<*max_element(a,a+n)-*min_element(a,a+n)<<'\n';
delete []a;}
#include <iostream>
#include <cstdlib>
#include <ctime>
#define SIZE 25 // сколько человек
#define MIN 140 // предположительный минимальный рост человека
#define MAX 220 // предположительный максимальны рост человека
using namespace std;
int find_min(int * A, const int size)
{
int min = A[0];
for(int x = 1; x < size; x++)
{
if(A[x] < min) min = A[x];
}
return size > 0? min : 0;
}
int find_max(int * A, const int size)
{
int max = A[0];
for(int x = 1; x < size; x++)
{
if(A[x] > max) max = A[x];
}
return size > 0? max : 0;
}
int main()
{
srand(time(NULL));
int * A = new int[SIZE];
for(int i = 0; i < SIZE; i++)
{
do
{
A[i] = rand() % MAX;
} while (A[i] < MIN);
cout << A[i] << ' ';
}
cout << endl << endl;
int min,max;
min = find_min(A,SIZE);
max = find_max(A,SIZE);
cout << "Рост самого высого человека превышает "
<< "рост самого низкого на " << max - min << " см." << endl;
delete [] A;
return 0;
}
#include <cstdlib>
#include <ctime>
#define SIZE 25 // сколько человек
#define MIN 140 // предположительный минимальный рост человека
#define MAX 220 // предположительный максимальны рост человека
using namespace std;
int find_min(int * A, const int size)
{
int min = A[0];
for(int x = 1; x < size; x++)
{
if(A[x] < min) min = A[x];
}
return size > 0? min : 0;
}
int find_max(int * A, const int size)
{
int max = A[0];
for(int x = 1; x < size; x++)
{
if(A[x] > max) max = A[x];
}
return size > 0? max : 0;
}
int main()
{
srand(time(NULL));
int * A = new int[SIZE];
for(int i = 0; i < SIZE; i++)
{
do
{
A[i] = rand() % MAX;
} while (A[i] < MIN);
cout << A[i] << ' ';
}
cout << endl << endl;
int min,max;
min = find_min(A,SIZE);
max = find_max(A,SIZE);
cout << "Рост самого высого человека превышает "
<< "рост самого низкого на " << max - min << " см." << endl;
delete [] A;
return 0;
}
А каким образом тут delete поможет?
иди на фриланс
A C
че не понравилась пиши почту
Похожие вопросы
- C++ ПОМОГИТЕ ПОЖАЛУЙСТА
- Знающие C++, помогите пожалуйста:)
- Вывод нечетных номеров, а затем четных в C, помогите пожалуйста
- C++ помогите пожалуйста умоляю!!!!!!!!!!!!
- C++ помогите пожалуйста Организация ветвления с использованием оператора выбора
- C++, помогите пожалуйста.
- Простой вопрос про динамическую память, new/delete, C++
- Помогите пожалуйста написать код.(C++)
- Помогите пожалуйста - создать 4 массива на c++
- Помогите пожалуйста с C++