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

Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 5.00
krytishka99
Сообщений: n/a
29.12.2011, 18:20     Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица #1
Цель работы: Составление алгоритмов и написание многомодульных программ циклической структуры с использованием массивов указателей на массив в среде С++ (обработка двумерных массивов данных). Статическое и динамическое распределение памяти.

Общие указания к заданиям лабораторной работы.
По номеру Вашего варианта выбрать задачу, решаемую в этой лабораторной работе, и выполнить для нее следующие задания.
Для решения задачи разработайте следующие функции:
- функцию ввода m*n элементов числовой матрицы; при разработке этой функции используйте ранее разработанную вами функцию ввода одномерного массива данных;
- функцию обработки числовой матрицы (матриц) по правилу, определяемому в задаче вашего варианта;
При необходимости алгоритм обработки матрицы вашего варианта разбейте на процедуры, каждая из которых может реализовать отдельную независимую функцию, из которых можно составить конечный алгоритм обработки матрицы как одну функцию;
- функцию вывода числовой матрицы на экран в виде матрицы;
- главную функцию main, которая организует ввод исходной информации, работу разработанной вами функции обработки числовой матрицы, вывод исходного двумерного массива и вновь созданного; в этой функции предусмотрите возможность многократного решения задачи с различными исходными данными.
Программу разработайте в двух вариантах:
- используя статическое распределение памяти для хранения числовой матрицы (задайте некоторое максимально возможное количество обрабатываемых элементов в матрице);
- используя динамическое распределение памяти для матрицы.
Тексты функций сгруппируйте в файлы в вариантах статики и динамики:
• файл с функциями ввода и вывода;
• файл с функцией (функциями) обработки матриц;
• файл с функцией main.
В одном решении (solution) создать два проекта, каждый из которых реализует Вашу задачу в одном из двух вариантов распределения памяти под массивы (статики и динамики). Откомпилировать и выполнить проекты. Контроль правильности работы ваших проектов осуществить, используя исходные данные, подготовленные вами для отладки программы. Оба варианта программы на одних и тех же отладочных данных должны давать одинаковые результаты.






Тексты индивидуальных задач, выполняемых в лабораторной работе
Задача 6.01
Составить программу, которая получает матрицу А размером m*n. Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица, в которую на место отрицательных элементов исходной матрицы записываются нули, а на место положительных единицы.






Прошу помощи в написании функции, которая выявит, есть ли в матрице строка, в которой все элементы отрицательные, что бы знать, формировать новую матрицу или нет. Не могу ни как сама додуматься( Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2011, 18:20     Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица
Посмотрите здесь:

C++ В прямоугольной матрице подсчитать количество столбцов, содержащих отрицательные элементы.
C++ Определить количество строк матрицы, содержащих только отрицательные элементы
Матрица. Сумма элементов в строках, не содержащих отрицательные элементы. C++
Определить номера столбцов содержащих только отрицательные элементы матрицы C++
C++ Определить количество строк, содержащих только положительные элементы
C++ Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы.
C++ Вывести номера столбцов матрицы, содержащих только отрицательные элементы (Pascal -> C++)
C++ Найти количество столбцов, содержащих только отрицательные элементы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 18:31     Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица #2
C++
1
2
3
4
5
6
7
template <class T> bool func(T* first, T* last)//Возвращает true если все отрицательные или равны нулю. False в противоположном случае
{
    for( ; first != last; ++first)
        if(*first > 0)
            return false;
    return true;
}
Добавлено через 35 секунд
Принимает указатель на 1-й элемент и на (последний + 1) элемент.
Yandex
Объявления
29.12.2011, 18:31     Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица
Ответ Создать тему
Опции темы

Текущее время: 08:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru