Сформировать матрицу по правилу - C (СИ) (79848)
Формулировка задачи:
Пока тока начал учить Си, будьте добры помогите пожалуйста написать 2 программы
Буду очень признателен , кто поможет, просто очень надо
За ранее спасибо
Решение задачи: «Сформировать матрицу по правилу»
textual
Листинг программы
#include "stdafx.h"
#include "iostream"
using namespace std;
void main()
{
int i, j, n;
float **b, tmp;
setlocale(LC_ALL, "Russian");
cout << "Введите размер матрицы B:\n-> "; cin >> n;
b = new float*[n];
for (i=0; i<n; ++i) {
b[i] = new float[m];
for (j=0; j<n; ++j) {
cout << "Введите элемент B[" << i << "][" << j << "]: ";
cin >> b[i][j];
}
}
for (i=0; i<n; ++i) {
for (j=0; j<i; ++j) {
tmp = b[i][j];
b[i][j] = b[j][i];
b[j][i] = tmp;
}
}
cout << "Полученная матрица B:\n";
for (i=0; i<n; ++i) {
for (j=0; j<m; ++j) {
cout << b[i][j] << " ";
}
cout << endl;
}
cout << "\n\nCreated by R0mm\nCopyright (C) 2009 cyberforum.ru\n\n";
system("pause");
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные i, j, n (строки и столбцы матрицы) и b (матрица).
- Пользователю предлагается ввести размер матрицы B.
- С помощью оператора new создается массив b[i][j], в который затем с помощью оператора cin вводятся элементы матрицы B.
- С помощью двух вложенных циклов производится перестановка элементов матрицы B в соответствии с формулой B[i][j] = B[j][i].
- Выводится полученная матрица B.
- Выводится сообщение об авторских правах.
- Используется функция system(
pause), чтобы программа не закрылась сразу после вывода матрицы. Обратите внимание, что в коде присутствуют некоторые несоответствия:- Переменная m не определена, но используется в вычислениях размера матрицы.
- В цикле вывода матрицы используется переменная m, которая также не определена.
- Функция main() объявлена как функция C++, а не функция C.