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

Найти номера первых отрицательных элементов каждой строки матрицы - C++

Восстановить пароль Регистрация
 
Аселька
-28 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 15
16.10.2011, 19:11     Найти номера первых отрицательных элементов каждой строки матрицы #1
В прямоугольной матрице, размерностью n*m, найти номера первых отрицательных элементов каждой строки (столбца).
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2011, 19:11     Найти номера первых отрицательных элементов каждой строки матрицы
Посмотрите здесь:

C++ Замена первых элементов каждой строки квадратной матрицы на сумму элементов этой строки
Сформировать одномерный массив из номеров первых отрицательных элементов каждой строки матрицы C++
Вычислить среднее арифметическое отрицательных элементов массива. Использовать функцией для каждой строки матрицы А (4, 8) C++
Определить сумму отрицательных нечетных элементов каждой строки матрицы C++
Найти произведение нечетных отрицательных элементов каждой строки матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
16.10.2011, 19:54     Найти номера первых отрицательных элементов каждой строки матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <cstdlib>
#include <vector>
#include <conio.h>
#include <ctime>
#include <limits>
#include <algorithm>
 
bool pred(short int value)
{
    return value < 0;
}
 
int main()
{
    unsigned short int m, n;
    std::cout << "Enter m, n" << std::endl;
    std::cin >> m >> n;
 
    std::vector<std::vector<short int> > matrix(m, std::vector<short int>(n));
    for (std::vector<std::vector<short int> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
    {
        for (std::vector<short int>::iterator j = i->begin(), end = i->end(); j != end; ++j)
            std::cout << (*j = rand() % std::numeric_limits<unsigned char>::max() - std::numeric_limits<unsigned char>::max() / 2) << " ";
        std::cout << std::endl;
    }
 
    std::cout << std::endl << "Answer" << std::endl;
    for (std::vector<std::vector<short int> >::const_iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
        std::cout << *std::find_if(i->begin(), i->end(), &pred) << std::endl;
 
    _getch();
    return EXIT_SUCCESS;
}
Аселька
-28 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 15
16.10.2011, 20:00  [ТС]     Найти номера первых отрицательных элементов каждой строки матрицы #3
большое спасибо))) вы мне очень помогли!
Сыроежка
Заблокирован
16.10.2011, 20:00     Найти номера первых отрицательных элементов каждой строки матрицы #4
Ваш код содержит ошибку, так как если в столбце нет отрицательных элементов, то вы будете пытаться разыменовать элемент вектора за пределами диапазона его элементов.
Аселька
-28 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 15
16.10.2011, 20:06  [ТС]     Найти номера первых отрицательных элементов каждой строки матрицы #5
большое спасибо))) вы мне очень помогли!
Yandex
Объявления
16.10.2011, 20:06     Найти номера первых отрицательных элементов каждой строки матрицы
Ответ Создать тему
Опции темы

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