Загрузка данных
#include <iostream>
#include <vector>
#include <clocale>
using namespace std;
// Предусловие: пользователь вводит 10 целых чисел для вектора a и значение произведения p.
// Постусловие: с использованием std::vector сформирован вектор b, где положительные элементы вектора a увеличены на p; вектор b выведен на экран.
void main()
{
setlocale(LC_ALL, "Russian");
const int N = 10;
vector<int> a;
vector<int> b;
// Ввод элементов вектора a
cout << "Введите 10 элементов массива A:" << endl;
for (int i = 0; i < N; i++)
{
int val;
cout << "a[" << i << "] = ";
cin >> val;
a.push_back(val);
}
// Ввод значения произведения
int p;
cout << "\nВведите произведение p: ";
cin >> p;
// Построение вектора b динамически через push_back
for (int i = 0; i < a.size(); i++)
{
if (a[i] > 0)
{
b.push_back(a[i] + p);
}
else
{
b.push_back(a[i]);
}
}
// Вывод вектора b
cout << "\nМассив B: ";
for (int i = 0; i < b.size(); i++)
{
cout << b[i] << " ";
}
cout << endl;
system("pause");
}
#include <iostream>
#include <vector>
#include <clocale>
using namespace std;
// Предусловие: вводится матрица Y размером 7x6 целых чисел.
// Постусловие: с использованием std::vector сформирован одномерный вектор b из 6 элементов,
// содержащий суммы отрицательных элементов каждого столбца; результаты выведены на экран.
void main()
{
setlocale(LC_ALL, "Russian");
const int ROWS = 7;
const int COLS = 6;
// Двумерный вектор (вектор векторов) и вектор сумм b
vector<vector<int>> y;
vector<int> b;
cout << "Введите элементы матрицы Y (7 строк по 6 чисел):" << endl;
// Ввод матрицы Y через push_back строк
for (int i = 0; i < ROWS; i++)
{
vector<int> row;
for (int j = 0; j < COLS; j++)
{
int val;
cout << "Y[" << i << "][" << j << "] = ";
cin >> val;
row.push_back(val);
}
y.push_back(row);
}
// Вывод матрицы Y
cout << "\nМатрица Y (7x6):" << endl;
for (int i = 0; i < y.size(); i++)
{
for (int j = 0; j < y[i].size(); j++)
{
cout << y[i][j] << "\t";
}
cout << endl;
}
// Подсчет сумм отрицательных элементов столбцов
for (int j = 0; j < COLS; j++)
{
int s = 0;
for (int i = 0; i < ROWS; i++)
{
if (y[i][j] < 0)
{
s = s + y[i][j];
}
}
b.push_back(s); // Динамически добавляем сумму столбца в вектор b
}
// Вывод вектора b
cout << "\nМассив сумм отрицательных элементов по столбцам (B):" << endl;
for (int j = 0; j < b.size(); j++)
{
cout << "Столбец " << j << ": " << b[j] << endl;
}
system("pause");
}
#include <iostream>
#include <vector>
#include <clocale>
using namespace std;
// Предусловие: вектор k из N элементов заполнен псевдослучайными числами от -10 до 10.
// Постусловие: с помощью std::vector динамически сформирован вектор x из ненулевых элементов вектора k;
// найден индекс минимума и вычислено количество положительных элементов после него.
void main()
{
setlocale(LC_ALL, "Russian");
const int N = 10;
vector<int> k;
vector<int> x;
// 1. Формирование вектора k числами от -10 до 10
cout << "Массив K: ";
for (int i = 0; i < N; i++)
{
int val = rand() % 21 - 10;
k.push_back(val);
cout << k[i] << " ";
}
cout << endl;
// 2. Формирование вектора x из ненулевых элементов через push_back
for (int i = 0; i < k.size(); i++)
{
if (k[i] != 0)
{
x.push_back(k[i]);
}
}
// Вывод вектора x
cout << "Массив X: ";
for (int i = 0; i < x.size(); i++)
{
cout << x[i] << " ";
}
cout << endl;
// 3. Поиск минимума и подсчет положительных элементов после него
if (x.size() > 0)
{
int minVal = x[0];
int minIdx = 0;
for (int i = 1; i < x.size(); i++)
{
if (x[i] < minVal)
{
minVal = x[i];
minIdx = i;
}
}
cout << "Минимальный элемент: " << minVal << endl;
int countPos = 0;
for (int i = minIdx + 1; i < x.size(); i++)
{
if (x[i] > 0)
{
countPos++;
}
}
cout << "Количество положительных после минимального: " << countPos << endl;
}
system("pause");
}