![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
В матрице размерностью nxm удалить строку, содержащую минимальный элемент.
Подскажите пожалуйста как можно видоизменить функцию output, чтобы выводилась матрица с уже удаленной строкой...
Это сообщение отредактировал(а) VIvan - 25.4.2006, 12:58 |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
int* temp;
int* it; temp=b[0][0]; for(i=0;i<n;i++) for(j=0;j<m;j++) if(temp>b[i][j]) {temp=b[i][j]; it=i;} for(j=0;j<m;j++) b[it][j]=0; По моему так. --------------------
|
|||
|
||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
дело в том, что ты не можешь удалить строку. но можно схитрить и не печатать строку с минимальным элементом. в первом проходе ты ищешь строку с минимальным элементом, а во втором собственно печатаешь матрицу:
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
НИКТО, Rockie СПАСИБО БОЛЬШОЕ !
|
|||
|
||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Необходимо именно удалить строку. На тот случай если с массивом будут осуществлять какие-то дальнейшие преобразования... И сделать это без применения continue и brake |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
у тебя статический массив, потому ты и не можешь именно удалить строку пользуйся динамическими массивами
удалить строку - создать новый массив с кол-вом строк N-1, записать в него элементы из старого массива (кроме элементов удаляемой строки), удалить старый массив (free(b)), значением b сделать адрес нового участка памяти -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Я с динамикой еще вообще не работал (не представляю как можно это сделать), а нельзя как-нибудь скопировать все в новый массив кроме определенной строки, в статическом массиве ???
|
|||
|
||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Выводит только ноль и все. Подскажите пожалуйста где ошибка Это сообщение отредактировал(а) VIvan - 6.5.2006, 10:58 |
|||
|
||||
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Ошибки: 1) 45 строка (лишний цикл) 2) 53 строка (занеси в else после 50 строки, чтобы выводило всю матрицу, кроме 1 строки, а не 1 значение за границей массива) Рекомендации: 1) в 4 и 5 строках замени макросы на константы 2) лишние фигурные скобки (41 и 44 строки) |
|||
|
||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
imho у него двумерный массив -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
||||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
ничего. кроме того что у него в задании указан вывод матрицы. и лично я логичней вижу двумерный массив в виде mas[row][col], но это мое imho =) в любом случае если ты так создаешь массив, следовало сообщить парню что ему следует переделать все остальные функции. Добавлено @ 12:38 то есть если MAKCim создает. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
1. 45 строка исправил 2. Лишние скобки убрал 3. 53 строка, как это сделать. У меня вообще ничего там не выводится. 4. Скобки поставил На данный момент программа ваыдает только нули Массив к сожалению должен быть только двумерным и статическим Это сообщение отредактировал(а) VIvan - 6.5.2006, 13:42 |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
к сожелению строку из него не удалить.
полный текст задания -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| VIvan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Полный текcт:
В матрице размерностью nxm удалить строку, содержащую минимальный элемент. Программа обязательно должна быть написана с использованием функций и должна включать как минимум две функции: формирование матрицы и ее вывод на экран. Максимальная размерность матрицы должна быть такой, чтобы матрица целиком умещалась на экране. При вводе проверять, чтобы размерность не превышала максимальную и была больше нуля. Не использовать continue и brake Помогите пожалуйста... Хоть через динамические хоть как-нибудь |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |