Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
#1

Матрицы в с++ - C++

15.04.2009, 02:40. Просмотров 933. Ответов 2
Метки нет (Все метки)

Помогите написать прогу на С++


Задана матрица A (N; N), N = 10 и число K (1 <K <N). Срока с максимальным по модулю элементом в к-том столбце поменять местами с к-той строкою. Число К вводится с клавиатуры.



Подкажите идею с чего начать, плиз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2009, 02:40     Матрицы в с++
Посмотрите здесь:

Поменять первые элементы столбцов матрицы с минимальными элементами строк матрицы - Pascal
uses crt; const n = 4; m = 5; var matrix: array of integer; max, min, i, j, k: integer; begin clrscr; ...

Для матрицы E (8,8) найти все отрицательные элементы нижней треугольной матрицы - Turbo Pascal
нужно написать программу: Для матрицы E (8,8) найти все отрицательные элементы нижней треугольной матрицы. Функция f(x) и диапазон...

Матрицы. Ввести две матрицы и вычеслить их произведение, использовать procedure - Pascal ABC
В предпоследней строке ошибка. как исправить? uses crt; const n=3; type matrica=array of real; procedure vvodA; var ...

Сформировать из матрицы A матрицы по правилу; найти максимальный по модулю элемент первой строки матрицы - Turbo Pascal
В целочисленной матрице А(3,4) найти m-количество положительных элементов, стоящих в четных столбах.Сформировать матрицу В(3,4) по правилу:...

Даны квадратные матрицы A и B. Получить матрицу D, вставив столбцы матрицы B между столбцами матрицы A. - VBA
Вот такая задача...помогите решить пожалуйста....

Матрицы и вектора. Удалить из матрицы строку, в которой находится минимальный элемент матрицы - Turbo Pascal
1.Дана квадратная матрица A(nхn). Построить вектор b, где bi, i=1,…,n – сумма элементов i-ого столбца матрицы. 2.Дана квадратная матрица...

Переставить строки и столбцы матрицы так, чтобы минимальный элемент матрицы находился в левом верхнем углу матрицы - Turbo Pascal
Здравствуйте. Не могу вспомнить как это делается. Помогите пожалуйста, заранее спасибо. Условие : Дана квадратная матрица A(nхn)....

Процедура ввода квадратной матрицы, транспонирования матрицы и вывода новой матрицы - Turbo Pascal
1.Написать программу с использование собственного модуля, который должен содержать процедуру ввода квадратной матрицы, процедуру...

Реализовать умножение матрицы, транспонирование матрицы, обращение матрицы - Delphi
Реализовать умножение матрицы, транспонирование матрицы, (функция должна быть универсальной) обращение матрицы (процесс такой матрицы, что...

ввод матрицы, вывод матрицы в квадратной форме, вывод на экран транспонированной матрицы - Assembler
Создать класс для работы с матрицей. Данные класса: матрица A(3×3). Открытые функции класса: ввод матрицы, вывод матрицы в квадратной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
15.04.2009, 03:17     Матрицы в с++ #2
Не знаю,понравится ли такой вариант(это так,навскидку,крайне неэлегантное решение)- после ввода с клавы матрицы А и числа К создаём ещё одну матрицу-четырёхмерную (B [n][n][k][j]),после чего в цикле переписываем все элементы А в неё,указывая при этом два последних атрибута-k как номер строки и j как номер столбца.И далее перебираем нужный столбец К на максимум,при этом узнаём,в какой он строке.Затем у всех элементов этой строки и строки К меняем индексы k и j между собой.Сортируем матрицу по порядку относительно j и k.Переписываем полученное в A.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
15.04.2009, 03:36     Матрицы в с++ #3
Это основные алгоритмы, остальное должен сообразить сам.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* ..... */
int i, j, A[N][N], k, absmax, imax, tmp;
 
/* здесь заполнение матрицы A и ввод k */
 
/* поиск строки с абсолютным максимумом */
imax = 0;
absmax = A[0][k];
for(i = 0; i < N; i++)
   if(abs(A[i][k]) > abs(absmax)) {
      absmax = A[i][k];
      imax = i;
   }
 
/* перестановка строк */
for(j = 0; j < N; j++) {
   tmp = A[k][j];
   A[k][j] = A[imax][j];
   A[imax][j] = tmp;
}
 
/* ..... */
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru