Другие языки программирования и технологии

Очень прошу помочь написать программу на c++.

1. В одномерном массиве удалить первый отрицательный элемент.
2. В двухмерном массиве добавить столбец с заданным номером.
// _71005973
#include <iostream>
#include <ctime>
using namespace std;

int main()
{
setlocale(LC_CTYPE, "Russian_Russia.1251");
srand((unsigned) time(NULL));
int size;
bool flag;
// первое задание
int * a, * temp, index = 0;
flag = true;
size = rand() % 11 + 10;
a = new int [size];
temp = new int [size];
for (int n = 0; n < size; n++)
{
a[n] = rand() % 19 - 9;
temp[n] = a[n];
cout << ' ' << a[n];
if (a[n] < 0 && flag)
{
index = n;
flag = false;
}
}
int newsize = size - 1;
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];
}
cout << endl;
for (int n = 0; n < newsize; n++)
cout << ' ' << a[n];
delete[] a;
delete[] temp;
cout << endl << endl;
// второе задание
int ** b, ** temp2;
int row = rand() % 3 + 3;
int col = rand() % 4 + 5;
b = new int * [row];
temp2 = new int * [row];
for (int n = 0; n < row; n++, cout << endl)
{
b[n] = new int [col];
temp2[n] = new int [col];
for (int m = 0; m < col; m++)
{
b[n][m] = rand() % 90 + 10;
temp2[n][m] = b[n][m];
cout << ' ' << b[n][m];
}
}
int newcol = col + 1, paste;
cout << "\n Введите заданый номер столбца: ";
cin >> paste;
cout << endl;
index = paste - 1;
if (index >= newcol) index = newcol - 1;
if (index < 0) index = 0;
for (int n = 0; n < row; n++)
{
b[n] = new int [newcol];
for (int m = 0; m < newcol; m++)
{
if (m < index) b[n][m] = temp2[n][m];
else if (m == index) b[n][m] = 333;
else b[n][m] = temp2[n][m - 1];
}
}
for (int n = 0; n < row; n++, cout << endl)
for (int m = 0; m < newcol; m++)
cout << ' ' << b[n][m];
for (int n = 0; n < row; n++)
{
delete[] b[n];
delete[] temp2[n];
}
delete[] b;
delete[] temp2;
cin.get(); cin.get();
return 0;
}
Владимир Смертельная
Владимир Смертельная
62 966
Лучший ответ
Так начинай писать :) А дальше поможем :) ;)
Плата какая?
Игорь Гаргала
Игорь Гаргала
2 659
> 1. В одномерном массиве удалить первый отрицательный элемент.
> 2. В двухмерном массиве добавить столбец с заданным номером.

можешь расслабиться, потому что тебе крупно повезло. в Си++ из массива нельзя ничего удалить - ни строку, ни столбец, ни даже ячейку. Так что не бойся препода и отказывайся сдавать лабу на том основании, что они невыполнима.