Здравствуйте. Простая задача, а не пойму в чём дело.
Задана матрица А размером 4 x 5. Оформить ввод с клавиатуры номера столбца – k Î [1, 5]. Образовать массив В, каждый элемент которого b[i] = A[i][k]·i. Оформить ввод, обработку и вывод матриц в виде подпрограмм.
Код C++:
#include
#include
using namespace std;
void ArrayA(int a[][5], int x, int y);
int main() {
setlocale(LC_ALL, "Rus");
const int n = 4;
const int m = 5;
int A[n][m];
int k;
cout << "Массив A:" << endl;
ArrayA(A, n, m);
cout << "Введите номер столбца k в диапозоне [1, 5]: ";
cin >> k;
int b[5];
for (int i = 0; i < 5; i++) {
b[i] = A[i][k] * i;
if (i == 0) {
b[i] = A[i][k] * (i + 1);
}
cout << b[i] << " ";
}
return 0;
}
void ArrayA(int a[][5], int x, int y) {
srand(time(0));
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
a[i][j] = rand()%13;
cout.width(3);
cout << a[i][j];
}
cout << endl;
}
}
Answers & Comments
Поменяй цикл (Элементы массива считаются с 0):
for (int i = 0; i < 4; i++) {
b[i] = A[i][k-1] * (i + 1);
cout << b[i] << " ";
}