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

Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
03.10.2010, 12:42     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #1
по программе:дана целочисленная квадратная матрица.Определить количество отрицательных элементов в тех строках ,которые содержат хотя бы один нулевой элемент.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2010, 12:42     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент
Посмотрите здесь:

C++ Найти количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент
C++ Подсчитать количество отрицательных элементов в строках матрицы, которые содержат хотя бы один нулевой элемент
C++ Дана матрица А , размером n x m. Определить количество отрицательных элементов в тех строках , которые содержат хотя бы один нулевой Элемент
Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент C++
C++ Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент
C++ Найти сумму элементов матрицы в тех строках, которые содержат хотя бы один отрицательный элемент
Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
03.10.2010, 20:02     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #2
cook,
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
35
36
37
38
39
40
41
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
int main()
{
    int N;
    std::cout<<"Enter N: ";
    std::cin>>N;
    if(N==0)
    {
        std::cerr<<"Can`t be zero\n";
        return 0;
    }
    std::vector<std::vector<int> > Vec;
    Vec.resize(N);
    for(int i=0; i!=Vec.size(); ++i)
         Vec[i].resize(N);
    for(int i=0; i!=Vec.size(); ++i)
    {
        for(int j=0; j!=Vec[0].size(); ++j)
        { 
             std::cout<<"Enter "<< i+1 <<','<< j+1 <<'\n';
             std::cin>>Vec[i][j];
        }
     }
     std::vector<size_t> Degr;
     for(int i=0; i!=Vec.size(); ++i)
     {
         if(std::find(Vec[i].begin(), Vec[i].end(), 0)!=Vec[i].end())
         {
             Degr.push_back(std::count_if(Vec[i].begin(), Vec[i].end(), std::bind2nd(std::less<int>(), 0)));
         }
         else
             Degr.push_back(0);
     }
     std::cout<<"Result\n";
     std::copy(Degr.begin(), Degr.end(), std::ostream_iterator<size_t>(std::cout, "\n"));
     return 0;
}
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
04.10.2010, 00:53  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #3
Непонятно что делать с ошибками такого вида:

\45\main.cpp||In function `int main()':|
\45\main.cpp|20|warning: comparison between signed and unsigned integer expressions|
\45\main.cpp|22|warning: comparison between signed and unsigned integer expressions|
\45\main.cpp|24|warning: comparison between signed and unsigned integer expressions|
\45\main.cpp|31|warning: comparison between signed and unsigned integer expressions|
\45\main.cpp|41|error: `ostream_iterator' is not a member of `std'|
\45\main.cpp|41|error: expected primary-expression before '>' token|
\45\main.cpp|41|warning: left-hand operand of comma has no effect|
||=== Build finished: 2 errors, 5 warnings ===|
Добавлено через 52 секунды
не могу найти ,что нужно испавить в проге...не подскажете???
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 01:03     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #4
cook, Сейчас.

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
35
36
37
38
39
40
41
42
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
 
int main()
{
    int N;
    std::cout<<"Enter N: ";
    std::cin>>N;
    if(N==0)
    {
        std::cerr<<"Can`t be zero\n";
        return 0;
    }
    std::vector<std::vector<int> > Vec;
    Vec.resize(N);
    for(size_t i=0; i!=Vec.size(); ++i)
         Vec[i].resize(N);
    for(size_t i=0; i!=Vec.size(); ++i)
    {
        for(size_t j=0; j!=Vec[0].size(); ++j)
        { 
             std::cout<<"Enter "<< i+1 <<','<< j+1 <<'\n';
             std::cin>>Vec[i][j];
        }
     }
     std::vector<size_t> Degr;
     for(size_t i=0; i!=Vec.size(); ++i)
     {
         if(std::find(Vec[i].begin(), Vec[i].end(), 0)!=Vec[i].end())
         {
                         Degr.push_back(std::count_if(Vec[i].begin(), Vec[i].end(), std::bind2nd(std::less<int>(), 0)));
         }
                 else
                         Degr.push_back(0);
     }
     std::cout<<"Result\n";
     std::copy(Degr.begin(), Degr.end(), std::ostream_iterator<size_t>(std::cout, "\n"));
     return 0;
}
А так?
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
04.10.2010, 22:51  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #5
Cпааааааасибо!!!!Работает!!!!!Вот только я непойму в консоли:
N-количество строк;
Когда ввожу значение N=>пишет ENTER 1.1
Вот что это значит?????!!!!
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 22:56     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #6
cook, Матрица N*N т.к. квадратная.
ENTER 1.1
Соответственно введите элемент [1][1], хотя по факту (ибо индексы с нуля) [0][0]. Вообщем первый элемент первой строки. И т.д.
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
04.10.2010, 23:04  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #7
ЕNTER 1.1 это что количество отриц элементов???непойму..
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 23:06     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #8
cook, Нет. Это запрос на ввод элемента матрицы с клавиатуры. Или вам нужно рандомное заполнение матрицы?
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
04.10.2010, 23:19  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #9
Да ...нужно рандомное(
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 23:22     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #10
cook, Без б.

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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
#include <ctime>
#include <cstdlib>
 
int main()
{
    srand(static_cast<unsigned>(time(NULL)));
    int N;
    std::cout<<"Enter N: ";
    std::cin>>N;
    if(N==0)
    {
        std::cerr<<"Can`t be zero\n";
        return 0;
    }
    std::vector<std::vector<int> > Vec;
    Vec.resize(N);
    for(size_t i=0; i!=Vec.size(); ++i)
         Vec[i].resize(N);
    for(size_t i=0; i!=Vec.size(); ++i)
    {
        for(size_t j=0; j!=Vec[0].size(); ++j)
        { 
              Vec[i][j]=(i%2==0||j%2==0)?rand()%10:-(rand()%10);
        }
     }
     std::vector<size_t> Degr;
     for(size_t i=0; i!=Vec.size(); ++i)
     {
         if(std::find(Vec[i].begin(), Vec[i].end(), 0)!=Vec[i].end())
         {
                         Degr.push_back(std::count_if(Vec[i].begin(), Vec[i].end(), std::bind2nd(std::less<int>(), 0)));
         }
                 else
                         Degr.push_back(0);
     }
     std::cout<<"Result\n";
     std::copy(Degr.begin(), Degr.end(), std::ostream_iterator<size_t>(std::cout, "\n"));
     return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
04.10.2010, 23:33     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #11
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
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>
 
#define ROWS 5
#define COLS 5
 
int main()
{
    int i = 0;
    int j = 0;
    int cnt = 0;
    int nul = 0;
    int matrix[ROWS][COLS];
 
    for(i = 0; i < ROWS; ++i) {
        for(j = 0; j < COLS; ++j)
            matrix[i][j] = rand() % 99 - rand() % 99;
    }
 
    for(i = 0; i < ROWS; ++i) {
        for(j = 0; j < COLS; ++j)
            printf("%- .2d ", matrix[i][j]);
        printf("\n");
    }
    
    for(i = 0; i < ROWS; ++i) {
        for(nul = 0, cnt = 0, j = 0; j < COLS; ++j) {
            if(matrix[i][j] < 0)
                ++cnt;
            
            if(matrix[i][j] == 0)
                nul = 1;
        }
        
        printf("amount of negatives elements on %d row: ", i + 1);
        nul ? printf("%d\n", cnt) : printf("this row not have 0\n");
    }
    
    return 0;
}
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
05.10.2010, 00:32  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #12
Работает,без ошибок!!!Спасибо вам огромное...за ваше старание)
Получаеться что мы вводим с клавиатуры размер матрицы(N),а потом в результате количество отриц элементов!!
Ну вот например такое :
Enter N: 5
Result
0
1
0
1
0

Process returned 0 (0x0) execution time : 9.015 s
Press any key to continue.

Там где 1-это полож элементы,а 0--отрицательные!Я правильно думаю....????????
Можете описать немножечко...
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
05.10.2010, 00:34     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #13
cook, 0 - значит либо нет отрицательных в строке, либо нет нуля, и ему уже пофиг есть ли отрицательные.
1 - соответственно кол-во отрицательных элементов (при наличии 0) в строке. Может быть от 1 до n-1, ибо 1 элемент обязан быть 0.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2010, 01:25     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент
Еще ссылки по теме:

C++ Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки...
C++ Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент
Найти произведение элементов в тех строках, которые содержат хотя бы один нулевой элемент C++
Определить количество отрицательных элементов в тех строчках матрицы, где есть хотя бы один нулевой элемент C++
C++ Найти сумму элементов квадратной матрицы в тех строках, которые содержат хотя бы один отрицательный элемент

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

Или воспользуйтесь поиском по форуму:
cook
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 25
05.10.2010, 01:25  [ТС]     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент #14
Спасибо,теперь понятно))
Yandex
Объявления
05.10.2010, 01:25     Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент
Ответ Создать тему
Опции темы

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