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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sayfer
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 30
#1

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

31.03.2010, 14:20. Просмотров 899. Ответов 10
Метки нет (Все метки)

Помогите с контрольной
Нужно создать прямоугольную матрицу,заполнить ее случайными числами и найти количество отрицательных элементов в тех строках,которые содержат хотя бы один нулевой элемент
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2010, 14:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент (C++):

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

Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент - C++
Дана целочисленная прямоугольная матрица. Определить: 1) количество отрицательных элементов в тех строках которые содержат хотя бы...

Дана матрица А , размером n x m. Определить количество отрицательных элементов в тех строках , которые содержат хотя бы один нулевой Элемент - C++
знаю что с матрицами много тем но такой не видел , и не могу разобратся что не так ,помогите #include "stdafx.h" #include <stdio.h> ...

Подсчитать количество отрицательных элементов в строках матрицы, которые содержат хотя бы один нулевой элемент - C++
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int main(int argc, char** argv) { int...

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

Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент - C++
Задание: Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент. Ошибка в функции work: он ищет...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
02.04.2010, 14:18 #2
У тебя задача почти такая же как и у меня. Вот смотри тутПросто убери один цикл for и подставь то что тее нужно. Но у меня почему то он все равно не выдает правельного ответа
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
02.04.2010, 15:23 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int f=1; // флажок
int i,j,k,kol;
for(i=0;i<n;i++)  //n - кол-во строк
{
  kol=0;
 for(j=0;j<m;j++)  // кол-во столбцов
  if (a[i][j]==0) f=0;
 if(f)
 {
  for(k=0;k<m;k++)
   {
    if(a[i][k]<0) kol++;
   }
  }
  printf("%d",kol);
}
Ну вот подсчет отрицательных элементов, думаю с остальным не должно проблем возникнуть...
Sayfer
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 30
02.04.2010, 22:22  [ТС] #4
А как матрицу к примеру 3 на 4 заполнить случайными числами?
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
02.04.2010, 22:37 #5
C++
1
2
3
4
int MAS[3][4];
for (int i=0; i<3; i++)
for (int j=0; j<4; j++)
     MAS[i][j]=rand() %100+1;
Заполняет матрицу 3x4 случайными числами от 1 до 100.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
03.04.2010, 00:18 #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <functional>
#include <cstdlib>
#include <ctime>
 
/*
*   Нужно создать прямоугольную матрицу,заполнить ее случайными числами и найти количество 
*   отрицательных элементов в тех строках,которые содержат хотя бы один нулевой элемент 
*/
 
int main(){
    const int ROWS = 10;
    const int COLS = 5;
    
    srand(time(NULL));
    
    std::vector< std::vector<int> > matr(ROWS, std::vector<int>(COLS));
    for ( int i = 0; i < ROWS; ++i )
        for ( int j = 0; j < COLS; ++j )
            matr[i][j] = rand() % 21 - 10;
    
    std::cout << "Matrix:" << std::endl;
    for ( std::vector< std::vector<int> >::const_iterator i = matr.begin(); i != matr.end(); ++i ){
        std::copy(i->begin(), i->end(), std::ostream_iterator<int>(std::cout, "\t"));
        if ( std::find(i->begin(), i->end(), 0) != i->end() ){
            size_t cnt = std::count_if(i->begin(), i->end(), std::bind2nd(std::less<int>(), 0));
            std::cout << cnt << " negative elements";
        }
        std::cout << std::endl;
    }
    
    return 0;
}
Sayfer
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 30
03.04.2010, 09:24  [ТС] #7
Спасиба большое
Sayfer
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 30
05.04.2010, 12:14  [ТС] #8
easybudda
Вот только смог поставить с++ ,тут выдает две ошибки:srand(time(NULL))-Call to undefined function 'time'
и matr[i][j] = rand() % 21 - 10;-Call to undefined function 'time' ,я незнаю как исправить(
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
05.04.2010, 12:42 #9
Sayfer, ... а чем компилируете?
Попробуйте
C++
1
2
3
4
5
...
std::srand(std::time(NULL));
...
matr[i][j] = std::rand() % 21 - 10;
...
Хотя у меня gcc и так всё компилирует без сучка/задоринки
Найти количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент
Sayfer
0 / 0 / 0
Регистрация: 24.06.2009
Сообщений: 30
05.04.2010, 20:22  [ТС] #10
Вот так работает,огромное спс

Добавлено через 7 часов 5 минут
easybudda

Посмотрел код,оч много непойму не мог бы краткие коментарии оставить,выручил бы очень,непонятно вот ето
C++
1
2
3
4
5
6
7
8
std::cout << "Matrix:" << std::endl;
    for ( std::vector< std::vector<int> >::const_iterator i = matr.begin(); i != matr.end(); ++i ){
        std::copy(i->begin(), i->end(), std::ostream_iterator<int>(std::cout, "\t"));
        if ( std::find(i->begin(), i->end(), 0) != i->end() ){
            size_t cnt = std::count_if(i->begin(), i->end(), std::bind2nd(std::less<int>(), 0));
            std::cout << cnt << " negative elements";
        }
        std::cout << std::endl;
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
05.04.2010, 21:30 #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//вывод на экран слова "Matrix:"
std::cout << "Matrix:" << std::endl;
        // цикл по массиву массивов целых чисел. matr.begin() - указатель на первый массив
        for ( std::vector< std::vector<int> >::const_iterator i = matr.begin(); i != matr.end(); ++i ){
                // копирование каждого из массивов в cout (проще говоря - вывод)
                std::copy(i->begin(), i->end(), std::ostream_iterator<int>(std::cout, "\t"));
                // если в массиве есть элементы с нулевыми значениями
                if ( std::find(i->begin(), i->end(), 0) != i->end() ){
                        // посчитать, сколько в нём отрицательных элементов
                        size_t cnt = std::count_if(i->begin(), i->end(), std::bind2nd(std::less<int>(), 0));
                        // и вывести после массива
                        std::cout << cnt << " negative elements";
                }
                // всегда в конце вывода так пишут, не знаю, за чем
                std::cout << std::endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2010, 21:30
Привет! Вот еще темы с ответами:

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

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

Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент - C++
#include &quot;stdafx.h&quot; #include &lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using...

Найти сумму элементов матрицы в тех строках, которые содержат хотя бы один отрицательный элемент - C++
Вариант 7 Задание 1 Для заданной матрицы размером 8 на 8 найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом Найти сумму...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.04.2010, 21:30
Ответ Создать тему
Опции темы

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