|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.01.2010, 02:34 | #1 |
Пользователь
Регистрация: 03.01.2010
Сообщений: 41
|
Работа с функцией (С)
Задание - написать функцию обмена елементов одного столбца и строки квадратной матрицы.
Я программу написал, но она работает неправильно, видимо гдето ошибка, помогите, пожалуйста, ее найти и исправить, буду благодарен любой помощи. Код:
|
03.01.2010, 11:12 | #2 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
здесь одной матрицей не обойтись, объяви дополнительную, в к-рой и будешь менять элементы (а rozm - это номер строки\столбца, к-рые поменять?)
[quote] int mat[100][100]; for (int i = 0; i < 100; i++) mat[rozm][i] = matr[i][rozm]; mat[i][rozm] = matr[rozm][i]; [\quote] но перед этим сделай, чтоб mat = matr
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
03.01.2010, 11:13 | #3 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
здесь одной матрицей не обойтись, объяви дополнительную, в к-рой и будешь менять элементы (а rozm - это номер строки\столбца, к-рые поменять?)
[quote] int mat[100][100]; for (int i = 0; i < 100; i++) mat[rozm][i] = matr[i][rozm]; mat[i][rozm] = matr[rozm][i]; [\quote] но перед этим сделай, чтоб mat = matr
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
03.01.2010, 17:30 | #4 | ||
Пользователь
Регистрация: 03.01.2010
Сообщений: 41
|
Цитата:
Цитата:
|
||
03.01.2010, 17:49 | #5 |
Пользователь
Регистрация: 03.01.2010
Сообщений: 41
|
И еще вопрос, как размещаются в памяти елементы двухмерного масива, например A[3][2], я думал так:
Код:
|
03.01.2010, 18:21 | #6 |
Oo
Форумчанин
Регистрация: 10.10.2009
Сообщений: 350
|
твоя ошибка в том, что ты объявил массив размера 100х100. Соответственно e1+n*i это незаполненные элементы той же строки.
Если использовать динамическую память, элементы массива распологаются не по порядку. Последний раз редактировалось Namolem; 03.01.2010 в 18:24. |
03.01.2010, 18:31 | #7 |
Пользователь
Регистрация: 03.01.2010
Сообщений: 41
|
А как тогда передать двухмерный масив в функцию, с возможностью работы над его елементами?
|
03.01.2010, 18:49 | #8 |
Oo
Форумчанин
Регистрация: 10.10.2009
Сообщений: 350
|
использовать для перехода на другую строку вместо n - 100 (для массива 100х100)
|
03.01.2010, 19:02 | #9 |
Пользователь
Регистрация: 03.01.2010
Сообщений: 41
|
Спасибо огромное, до меня наконецто дошло. С меня пиво! =)))
Последний раз редактировалось ordoss; 03.01.2010 в 19:04. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с функцией gets (С) | spirit_trapper | Помощь студентам | 2 | 19.12.2009 01:25 |
Работа с функцией islower() | Greynvi4 | Общие вопросы C/C++ | 3 | 07.08.2009 21:37 |
Задача с функцией | Серафимий Долговяз | Помощь студентам | 7 | 05.02.2009 08:09 |
[Assembler]: Размер каталогов и работа с функцией "copy" | Roverka | Помощь студентам | 4 | 27.11.2008 20:13 |