Другие языки программирования и технологии
Помогите пожалуйста написать программу на c++.
Наберите программу, формирующую динамический массив, заполните его случайными числами и выведите на печать. В одномерном массиве удалите первый отрицательный элемент. В двухмерном массиве добавьте столбец с заданным номером. Для выделения памяти, заполнения массивов, удаления и добавления элементов напишите отдельные функции. В функции main() должны быть размещены только описания переменных и обращения к функциям.
// _71348312
#include <iostream>
#include <ctime>
using namespace std;
void createMatrix(int *, int, bool del = false);
void createMatrix(int **, int, int, bool del = false);
void print(int *, int);
void print(int **, int, int);
void killer(int *, int);
void add(int **, int, int);
int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");
srand((unsigned) time(NULL));
int s, row, col;
int * p = NULL;
int ** pp = NULL;
cout << "\n Введите размер одномерного массива: "; cin >> s;
createMatrix(p, s);
cout << "\n Введите количество строк двумерного массива: "; cin >> row;
cout << "\n Введите количество столбцов двумерного массива: "; cin >> col;
createMatrix(pp, row, col);
cin.get(); cin.get();
return 0;
}
void createMatrix(int * a, int size, bool del)
{
if (!del)
{
a = new int [size];
for (int n = 0; n < size; n++) a[n] = rand() % 120 - 20;
print(a, size);
}
else delete[] a;
}
void createMatrix(int ** a, int r, int c, bool del)
{
if (!del)
{
a = new int * [r];
for (int n = 0; n < r; n++)
{
a[n] = new int [c];
for (int m = 0; m < c; m++) a[n][m] = rand() % 90 + 10;
}
print(a, r, c);
}
else
{
for (int n = 0; n < r; n++) delete[] a[n];
delete[] a;
}
}
void print(int * a, int size)
{
cout << endl;
int temp = size;
for (int n = 0; n < size; n++) cout << ' ' << a[n];
cout << endl;
killer(a, size);
createMatrix(a, size, true);
}
void print(int ** a, int r, int c)
{
cout << endl;
for (int n = 0; n < r; n++, cout << endl) for (int m = 0; m < c; m++) cout << ' ' << a[n][m];
cout << endl;
add(a, r, c);
createMatrix(a, r, c, true);
}
void killer(int * a, int size)
{
int index = -1;
for (int n = 0; n < size; n++)
{
if (a[n] < 0)
{
index = n;
break;
}
}
if (index < 0) cout << " Массив не содержит отрицательных элементов! \a";
else
{
int newsize = size - 1;
int * temp = new int [size];
for (int n = 0; n < size; n++) temp[n] = a[n];
a = new int [newsize];
for (int n = 0; n < size; n++)
{
if (n < index) a[n] = temp[n];
else if (n == index) continue;
else a[n - 1] = temp[n];
}
delete[] temp;
size--;
for (int n = 0; n < size; n++) cout << ' ' << a[n];
cout << endl;
delete[] a;
}
}
void add(int ** a, int r, int c)
{
int addcol, nc = c + 1;
int ** temp;
cout << " Введите порядковый номер добавляемого столбца: "; cin >> addcol;
if (addcol < 1) addcol = 0;
else if (addcol > c) addcol = c;
else addcol--;
temp = new int * [r];
for (int n = 0; n < r; n++)
{
temp[n] = new int [c];
for (int m = 0; m < c; m++) temp[n][m] = a[n][m];
}
a = new int * [r];
for (int n = 0; n < r; n++)
{
a[n] = new int [nc];
for (int m = 0; m < nc; m++)
{
if (m < addcol) a[n][m] = temp[n][m];
else if (m == addcol) a[n][m] = -1;
else a[n][m] = temp[n][m - 1];
}
}
for (int n = 0; n < r; n++) delete[] temp[n];
delete[] temp;
cout << endl;
for (int n = 0; n < r; n++, cout << endl) for (int m = 0; m < nc; m++) cout << ' ' << a[n][m];
cout << endl;
for (int n = 0; n < r; n++) delete[] a[n];
delete[] a;
}
#include <iostream>
#include <ctime>
using namespace std;
void createMatrix(int *, int, bool del = false);
void createMatrix(int **, int, int, bool del = false);
void print(int *, int);
void print(int **, int, int);
void killer(int *, int);
void add(int **, int, int);
int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");
srand((unsigned) time(NULL));
int s, row, col;
int * p = NULL;
int ** pp = NULL;
cout << "\n Введите размер одномерного массива: "; cin >> s;
createMatrix(p, s);
cout << "\n Введите количество строк двумерного массива: "; cin >> row;
cout << "\n Введите количество столбцов двумерного массива: "; cin >> col;
createMatrix(pp, row, col);
cin.get(); cin.get();
return 0;
}
void createMatrix(int * a, int size, bool del)
{
if (!del)
{
a = new int [size];
for (int n = 0; n < size; n++) a[n] = rand() % 120 - 20;
print(a, size);
}
else delete[] a;
}
void createMatrix(int ** a, int r, int c, bool del)
{
if (!del)
{
a = new int * [r];
for (int n = 0; n < r; n++)
{
a[n] = new int [c];
for (int m = 0; m < c; m++) a[n][m] = rand() % 90 + 10;
}
print(a, r, c);
}
else
{
for (int n = 0; n < r; n++) delete[] a[n];
delete[] a;
}
}
void print(int * a, int size)
{
cout << endl;
int temp = size;
for (int n = 0; n < size; n++) cout << ' ' << a[n];
cout << endl;
killer(a, size);
createMatrix(a, size, true);
}
void print(int ** a, int r, int c)
{
cout << endl;
for (int n = 0; n < r; n++, cout << endl) for (int m = 0; m < c; m++) cout << ' ' << a[n][m];
cout << endl;
add(a, r, c);
createMatrix(a, r, c, true);
}
void killer(int * a, int size)
{
int index = -1;
for (int n = 0; n < size; n++)
{
if (a[n] < 0)
{
index = n;
break;
}
}
if (index < 0) cout << " Массив не содержит отрицательных элементов! \a";
else
{
int newsize = size - 1;
int * temp = new int [size];
for (int n = 0; n < size; n++) temp[n] = a[n];
a = new int [newsize];
for (int n = 0; n < size; n++)
{
if (n < index) a[n] = temp[n];
else if (n == index) continue;
else a[n - 1] = temp[n];
}
delete[] temp;
size--;
for (int n = 0; n < size; n++) cout << ' ' << a[n];
cout << endl;
delete[] a;
}
}
void add(int ** a, int r, int c)
{
int addcol, nc = c + 1;
int ** temp;
cout << " Введите порядковый номер добавляемого столбца: "; cin >> addcol;
if (addcol < 1) addcol = 0;
else if (addcol > c) addcol = c;
else addcol--;
temp = new int * [r];
for (int n = 0; n < r; n++)
{
temp[n] = new int [c];
for (int m = 0; m < c; m++) temp[n][m] = a[n][m];
}
a = new int * [r];
for (int n = 0; n < r; n++)
{
a[n] = new int [nc];
for (int m = 0; m < nc; m++)
{
if (m < addcol) a[n][m] = temp[n][m];
else if (m == addcol) a[n][m] = -1;
else a[n][m] = temp[n][m - 1];
}
}
for (int n = 0; n < r; n++) delete[] temp[n];
delete[] temp;
cout << endl;
for (int n = 0; n < r; n++, cout << endl) for (int m = 0; m < nc; m++) cout << ' ' << a[n][m];
cout << endl;
for (int n = 0; n < r; n++) delete[] a[n];
delete[] a;
}
#include
int main()
{
void("hello,Dima");
}
скажите что я не написал? консоль сразу закрывается при запуске
int main()
{
void("hello,Dima");
}
скажите что я не написал? консоль сразу закрывается при запуске
Похожие вопросы
- Привет всем! Помогите, пожалуйста, написать программу в C++.
- Помогите, пожалуйста, написать программу на C++.
- Помогите пожалуйста написать программу на C#
- Помогите пожалуйста написать программу на c++. Циклически сдвинуть массив на k элементов влево.
- Помогите пожалуйста написать программу на c++. Упорядочить элементы одномерного массива по убыванию.
- Помогите пожалуйста написать программу на c++, или хотя бы скиньте ссылку, если не сложно, где можно найти.
- Помогите пожалуйста написать программу в с++
- Народ, помогите пожалуйста с программой в C#
- Помогите, пожалуйста, написать программу на делфи с ассемблерными вставками.
- Помогите, пожалуйста, написать программу на С++