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

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

Восстановить пароль Регистрация
 
Vlad_
5 / 5 / 0
Регистрация: 07.09.2012
Сообщений: 170
05.10.2012, 21:24     Подсчитать число отрицательных элементов матрицы в отмеченых строках #1
Всем привет, в очередной раз обращаюсь к вам, как сделать не знаю,может кто толковый подскажет что нужно дописать
Смысл задачи генерируется последовательность от 1 до 6 скажем,потом если последнее число 6 генерируется квадратная матрица порядка 6, если предположим в последовательность от 1 до 6, третий элемент положителен тогда в третий строке сгенировавшейся матрицы мы должны подсчитать кол-во отрицательных элементов и вывести на экран,соответственно если положительные элементы 2 и 4 то во второй и четвёртой строке+вывести на экран либо порядковый номер положительного элемента,либо номер строки в которой будем считать кол-во отрицательных элементов.Уже написал код на генерацию последовательностей и матрицы,а как дальше не знаю.
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 <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    setlocale(0, "");
 
    char ch;
    do 
    {
        system("CLS");
        int const m =6;
        int A[m][m], B[m], i, j;
        for (i =0; i  <m; i++)
            B[i] =rand()%20-10;
        cout<< "Последоватльность b1...b"<<m<<endl;
        for (i =0 ; i < m ; i++){
            cout <<setw(3)<<B[i]<<" "; 
        }
        cout <<endl;
        cout<< "Целочисленная квадратная матрица порядка "<<m<<endl;
            
        for (i =0; i < m; i++)
            for(j =0; j < m; j++)
                A[i][j] =rand()%20-10;
            for (i =0; i < m; i++){
                for(j=0; j < m; j++)
        cout <<setw(3)<<A[i][j]<<" ";
        cout <<endl;
        }
        cout << "Продолжить выполнение программы? Да(y)/Нет(n)" << endl;
        do
        {
            ch = getchar();
        }while( (ch != 'y') && (ch != 'Y') && (ch != 'n' ) && (ch != 'N') );
    }while ( (ch != 'n' ) && (ch != 'N') );
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2012, 21:24     Подсчитать число отрицательных элементов матрицы в отмеченых строках
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
wtf?
19 / 19 / 0
Регистрация: 03.10.2010
Сообщений: 48
05.10.2012, 21:56     Подсчитать число отрицательных элементов матрицы в отмеченых строках #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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    setlocale(0, "");
    char ch;
    do 
    {
        system("CLS");
        int const m =6;
        int A[m][m], B[m], i, j;
        for (i =0; i  <m; i++)
            B[i] =rand()%20-10;
        cout<< "Последоватльность b1...b"<<m<<endl;
        for (i =0 ; i < m ; i++){
            cout <<setw(3)<<B[i]<<" "; 
        }
        cout <<endl;
        cout<< "Целочисленная квадратная матрица порядка "<<m<<endl;
            
        for (i =0; i < m; i++)
            for(j =0; j < m; j++)
                A[i][j] =rand()%20-10;
            for (i =0; i < m; i++){
                for(j=0; j < m; j++)
        cout <<setw(3)<<A[i][j]<<" ";
        cout <<endl;
        }
            int sum = 0;
            for( int i = 0; i < 6; ++i )
            {
                if( ( B[i]%2 == 0 ) && B[i] >= 0 )
                {
                    sum = 0;
                    for(int j = 0; j < 6; ++j )
                    {
                        sum+=A[i][j];
                    }
                    cout << "Сума елемнтов " << i+1 << "-ой строки = " << sum << endl;
                }
            }
        cout << "Продолжить выполнение программы? Да(y)/Нет(n)" << endl;
        do
        {
            ch = getchar();
        }while( (ch != 'y') && (ch != 'Y') && (ch != 'n' ) && (ch != 'N') );
    }while ( (ch != 'n' ) && (ch != 'N') );
    return 0;
}
На выводе нумерация строк начинается с 1, если нужно с 0 заменишь в этой строке "і + 1" на просто " і "
C++
1
cout << "Сума елемнтов " << i+1 << "-ой строки = " << sum << endl;
Vlad_
5 / 5 / 0
Регистрация: 07.09.2012
Сообщений: 170
06.10.2012, 01:22  [ТС]     Подсчитать число отрицательных элементов матрицы в отмеченых строках #3
wtf?, всё верно,только нужно что бы подсчитывала и выводила только кол-во отрицательных элементов в данной строке,вместо суммы.

Добавлено через 10 минут
конечный код для данной задачи
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
45
46
47
48
49
50
51
52
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    setlocale(0, "");
    char ch;
    do 
    {
        system("CLS");
        int const m =6;
        int A[m][m], B[m], i, j;
        for (i =0; i  <m; i++)
            B[i] =rand()%20-10;
        cout<< "Последоватльность b1...b"<<m<<endl;
        for (i =0 ; i < m ; i++){
            cout <<setw(3)<<B[i]<<" "; 
        }
        cout <<endl;
        cout<< "Целочисленная квадратная матрица порядка "<<m<<endl;
 
        for (i =0; i < m; i++)
            for(j =0; j < m; j++)
                A[i][j] =rand()%20-10;
        for (i =0; i < m; i++){
            for(j=0; j < m; j++)
                cout <<setw(3)<<A[i][j]<<" ";
            cout <<endl;
        }
        int sum = 0;
        for( int i = 0; i < m; i++ )
        {
            if(  B[i] >= 0 )
            {
                sum = 0;
                for(int j = 0; j < m; j++ )
                {
                    if (A[i][j]<0) sum++;
                }
                cout << "Кол-во отрицательных елемнтов " << i+1 << "-ой строки = " << sum << endl;
            }
        }
        cout << "Продолжить выполнение программы? Да(y)/Нет(n)" << endl;
        do
        {
            ch = getchar();
        }while( (ch != 'y') && (ch != 'Y') && (ch != 'n' ) && (ch != 'N') );
    }while ( (ch != 'n' ) && (ch != 'N') );
    return 0;
}
Большое спасибо, wtf?,
Yandex
Объявления
06.10.2012, 01:22     Подсчитать число отрицательных элементов матрицы в отмеченых строках
Ответ Создать тему
Опции темы

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