составьте программу удаления элементов одномерного массива A(N), больших заданного числа K В паскале ABC пожалуйста
Answers & Comments
Nove1990
Не совсем понятно условие, но вот возможное решение в C++ #include <iostream> #include <iomanip> #include <ctime> int main() { using namespace std;
cout << "Enter N: "; int N; cin >> N;
int * A = new int[N]; srand(time(0)); for (int i = 0; i < N; ++i) A[i] = rand() % N + 1;
for (int i = 0; i < N; ++i) cout << setw(4) << A[i];
cout << "\nEnter K: "; int K; cin >> K;
int SIZE = 0; for (int i = 0; i < N; ++i) if (A[i] <= K) ++SIZE;
if (SIZE > 0) { int * A1 = new int[SIZE]; int i1 = 0; for (int i = 0; i < N; ++i) if (A[i] <= K) { A1[i1] = A[i]; ++i1; } for (int i1 = 0; i1 < SIZE; ++i1) cout << setw(4) << A1[i1]; delete[] A1; } else cout << "No elements" << endl; delete[] A; cout << endl; return 0; }
Answers & Comments
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter N: ";
int N;
cin >> N;
int * A = new int[N];
srand(time(0));
for (int i = 0; i < N; ++i)
A[i] = rand() % N + 1;
for (int i = 0; i < N; ++i)
cout << setw(4) << A[i];
cout << "\nEnter K: ";
int K;
cin >> K;
int SIZE = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
++SIZE;
if (SIZE > 0)
{
int * A1 = new int[SIZE];
int i1 = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
{
A1[i1] = A[i];
++i1;
}
for (int i1 = 0; i1 < SIZE; ++i1)
cout << setw(4) << A1[i1];
delete[] A1;
}
else
cout << "No elements" << endl;
delete[] A;
cout << endl;
return 0;
}