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

Подсчитать число отрицательных элементов матрицы - C++

Восстановить пароль Регистрация
 
tanyaa
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 10
11.01.2013, 23:42     Подсчитать число отрицательных элементов матрицы #1
Даны натуральное число m, целые числа a1, ..am и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмечен-ной, если ai >0, и не отмеченной - в противном случае.
Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках

очень прошу помочь!
заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 23:42     Подсчитать число отрицательных элементов матрицы
Посмотрите здесь:

Подсчитать количество отрицательных элементов матрицы в каждой строке C++
C++ Подсчитать число элементов, входящих в непрерывные последовательности отрицательных чисел
C++ Подсчитать число отрицательных элементов матрицы в отмеченых строках
C++ Подсчитать количество отрицательных элементов в строках матрицы
1. Подсчитать число и сумму положительных, число и произведение отрицательных элементов заданного массива A(N) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
12.01.2013, 00:19     Подсчитать число отрицательных элементов матрицы #2
откуда будут братся данные?
zvoronz
 Аватар для zvoronz
270 / 237 / 21
Регистрация: 29.05.2012
Сообщений: 889
12.01.2013, 00:32     Подсчитать число отрицательных элементов матрицы #3
Сначала вводим с клавиатуры массив ai, потом случайными числами заполняется матрица и выводится на консоль, потом подсчитывается кол-во отрицательных чисел в тех строках матрицы matr, для которых в массиве а, аi > 0
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
void main()
{
    const int M = 3;
    int a[M], matr[M][M];
 
    for(int i = 0; i < M; ++i)
    {
        cout << "Vvedite a[" << i+1 <<"]->";
        cin >> a[i];
    }
 
    srand(time(NULL));
 
    for(int i = 0; i < M; ++i)
        for(int j = 0; j < M; ++j)
        {
            matr[i][j] = 10 - rand()%20;
        }
 
    for(int i = 0; i < M; ++i)
    {
        for(int j = 0; j < M; ++j)
            cout << matr[i][j] << '\t';
        cout << endl;
    }
 
    int neg = 0;
    for(int i = 0; i < M; ++i)  
        if(a[i] > 0)        
            for(int j = 0; j < M; ++j)
                if(matr[i][j] < 0) ++neg;       
    cout << "V otmechenih strokah " << neg << " otricatelnih elementov\n";
    system("pause");
}
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
12.01.2013, 00:36     Подсчитать число отрицательных элементов матрицы #4
а можно тупо количество отрицательных посчитать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream.h>
int main()
{ int a[10][10], m, count=0;
    cout<<" m = "; cin>>m;
        for(int i=0; i<=m; i++)
        for(int j=0; j<=m; j++)
        { cout<<"a["<<i<<"]["<<j<<"]="; 
            cin>>a[i][j]; 
          if (a[i][j]<0) count++; 
        }
        cout<<" = "<<count;
}
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
12.01.2013, 00:41     Подсчитать число отрицательных элементов матрицы #5
Дмитрий 93 циклы не правильно организованы надо j < m; Вы так же забыли по пространство имён std и #include <iostream.h> не совсем корректно.

Добавлено через 42 секунды
zvoronz void main не корректно, не соответствует стандарту.
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
12.01.2013, 00:47     Подсчитать число отрицательных элементов матрицы #6
на самом деле я писал в компиляторе и никаких ошибок не было
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
12.01.2013, 00:52     Подсчитать число отрицательных элементов матрицы #7
Цитата Сообщение от Дмитрий 93 Посмотреть сообщение
на самом деле я писал в компиляторе и никаких ошибок не было
Я попробовал на двух и на обоих выдаются ошибки. По ошибкам, может быть разное зависит от компилятора, но по циклам посмотрите внимательно, отсчёт элементов начинается с 0 и до m. Один лишний элемент в каждой строке.
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
12.01.2013, 00:56     Подсчитать число отрицательных элементов матрицы #8
так-то я думал что элементы массива индексируются с нуля и при размерности 3 их будет 4.
полагаю по всем стандартам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream.h>
 using namespace std;
int main()
{ int a[10][10], m, count=0;
    cout<<" m = "; cin>>m;
        for(int i=0; i<m; i++)
        for(int j=0; j<m; j++)
        { cout<<"a["<<i<<"]["<<j<<"]="; 
            cin>>a[i][j]; 
          if (a[i][j]<0) count++; 
        }
        cout<<" = "<<count<<endl;
return 0;
}
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
12.01.2013, 00:59     Подсчитать число отрицательных элементов матрицы #9
Дмитрий 93 Сейчас, правильно, только лучше #include <iostream>, на #include <iostream.h>, например в Visual Studio вылетает ошибка.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 01:02     Подсчитать число отрицательных элементов матрицы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
12.01.2013, 01:02     Подсчитать число отрицательных элементов матрицы #10
благодарствую что указали на мой конфуз. в моем c-free 4.0 с его mingw 2.95 сей заголовочный файл в обоих вариантах ошибки не вызывает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
 using namespace std;
int main()
{ int a[10][10], m, count=0;
    cout<<" m = "; cin>>m;
        for(int i=0; i<m; i++)
        for(int j=0; j<m; j++)
        { cout<<"a["<<i<<"]["<<j<<"]="; 
            cin>>a[i][j]; 
          if (a[i][j]<0) count++; 
        }
        cout<<" = "<<count<<endl;
return 0;
}
Yandex
Объявления
12.01.2013, 01:02     Подсчитать число отрицательных элементов матрицы
Ответ Создать тему
Опции темы

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