Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> задача по матрицам, помогите решить 
:(
    Опции темы
chili89
  Дата 12.3.2012, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.3.2012

Репутация: нет
Всего: нет



Текст задачи:Задана матрица А (7 строк,4 столбца) целых чисел.
Получить матрицу В из А удалением k-ой строки и j-го столбца.
Премечания и требования
1)номер k-ой строки j-го столбца.вводить с клавиатуры (в тексте программы)
2)вывести на экран в удобной и наглядной форме исходные данные и результаты. 
PM MAIL   Вверх
Ukrajinec
Дата 12.3.2012, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 6.4.2009

Репутация: нет
Всего: нет



Делаешь матрицу 7х4 которая с основными данными и 6х3, что в итоге нас выйдет. 2-е контрольные переменные (например m - для строк и n - для столбцов) которые вводятся с клавиатуры чтоб знать какую строку или какой столбец тебе надо пропускать. Инициируешь копирование значений с основной матрицы в итоговую с условием если i==m, то i++ и если j==n, то j++ и таким макаром ты пропускаешь не нужные тебе элементы...

Выводится на экран матрица легко как и квадратная так и прямоугольная. 2 цикла for между которыми выводишь символ новой строки, а последний цикл выводит элементы матрицы.

Это сообщение отредактировал(а) Ukrajinec - 12.3.2012, 19:26
PM MAIL   Вверх
ambler
Дата 14.3.2012, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.10.2009

Репутация: нет
Всего: нет



Цитата

Инициируешь копирование значений с основной матрицы в итоговую с условием если i==m, то i++ и если j==n, то j++ и таким макаром ты пропускаешь не нужные тебе элементы...

Сомнительный алгоритм, матрицы же разного размера! выход за границы массива неизбежен.

Скопировать можно примерно так:
Код

    for (int i=0, i2=0, ii2=0; i<n; i++)
    {
        if (i == k) continue;
        for (int ii=0; ii<m; ii++)
        {
            if (ii == j) continue;
            B[i2][ii2++] = A[i][ii];
        }
        i2++;
        ii2=0
    }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.