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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
#1

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

04.03.2013, 19:59. Просмотров 1727. Ответов 12
Метки нет (Все метки)

Дана целочисленная прямоугольная матрица.
Определить:
1) количество отрицательных элементов в тех строках которые содержат хотя бы один нулевой элемент
2) номера строк и столбцов всех седловых точек матрицы
Примечание: Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i-й строке и максимальным в j-м столбце
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 19:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент (C++):

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

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

Дана матрица А , размером 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++
Дана целочисленная прямоугольная матрица. Найти произведение элементов в тех строках, которые содержат хотя бы один нулевой элемент....

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

12
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 20:02 #2
Sergey3096,

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// obr.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main(void)
{
    int const n = 3, m = 3;
    int mas[n][m];
    int i,j;
    bool z;
    cout << "Enter the matrix:\n";;
 
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "Enter the matrix element[" << i+1 << "][" << j+1 << "]: ";
                cin >> mas[i][j];
        }
 
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
            {
                if ( mas[i][j] < 0)
                {
                    int s = 0;  
                    for(int k = 0; k < n; k++) 
                        s += mas[i][k];
 
                    cout << "Amount of line items [" << i+1 << "] = " << s << "\n";
                      
                }
            }
        }
 
    for(i = 0; i < n; i++)
    {
        int min = mas[1][0];
        int jmin = 0;
 
        for(j = 0; j < m; j++)
        {
            if(mas[i][j] < min)
            {
                min = mas[i][j];
                jmin = j;
            }
        }
            
        int max = mas[0][jmin];
        int imax = 0;
 
        for(int k = 0; k < m; k++)
        {
            if(mas[k][jmin] > max)
            {
                max = mas[k][jmin];
                imax = k;
            }
        }
 
        if(i == jmin)
        {
            if(z = true)
            {
                cout<< "i = " << imax << "  " << "j = " << jmin << "  " <<
                    "Saddle point = " << mas[imax][jmin] << endl;
            }
            else
                cout << "Saddle point has no.\n";
        }
    }
}
писал давно, еще когда только начинал изучать, так что если заметите ошибку скажите)
0
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
04.03.2013, 20:08  [ТС] #3
та в скобке первой ошибка(
не могу найти

Добавлено через 2 минуты
не правильно находит(
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 20:13 #4
сейчас гляну)
1
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
04.03.2013, 20:27  [ТС] #5
ну что?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 21:24 #6
Sergey3096, извините что заставил ждать, пришлось отойти, вот смотрите:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main(void)
{
    int const n = 3, m = 4;
    int mas[n][m];
    int i,j;
    bool flag = false;
    cout << "Enter the matrix:\n";;
 
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "Enter the matrix element[" << i+1 << "][" << j+1 << "]: ";
                cin >> mas[i][j];
        }
 
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
            {
                if ( mas[i][j] < 0)
                {
                    int s = 0;  
                    for(int k = 0; k < n; k++) 
                        s += mas[i][k];
 
                    cout << "Amount of line items [" << i+1 << "] = " << s << "\n";
                      
                }
            }
        }
 
 
    cout << endl;
 
    int stb, str;
    for(i = 0; i < n; i++)
    {
       int min = mas[i][0];
       stb = 0;
 
       for (j = 0; j < m; j++)
       {
           if(mas[i][j] < min ||  mas[i][j] == min)
           {
               min = mas[i][j];
               stb = j;
           }
       }
        
       str = 0;
       int max = mas[0][stb];
 
       for (int k = 0; k < n; k++)
       {
           if(max < mas[k][stb] || max == mas[k][stb])
           {
               max = mas[k][stb];
               str = k;
               if(min == max)
               {
                    cout << "i = " << str << "  " << "j = " << stb << "  " <<
                    "Saddle point = " << mas[str][stb] << endl;
                    flag = true;
                }
           }
       }
    }
 
    if(flag = false)
        cout << "No saddle points!\n\n";
 
    cout << "\n\n";
}
1
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
04.03.2013, 21:32  [ТС] #7
а можешь строки подписать пожалуйста?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 21:35 #8
Sergey3096, в смысле? комменты расставить?

Добавлено через 1 минуту
Sergey3096, я тут код лучше оформил, посмотри:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main(void)
{
    int const n = 3, m = 4;
    bool flag = false;
    int mas[n][m];
 
    cout << "Enter the matrix:\n";;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
        {
            cout << "Enter the matrix element[" << i+1 << "][" << j+1 << "]: ";
                cin >> mas[i][j];
        }
 
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < m; j++)
            {
                if(mas[i][j] < 0)
                {
                    int sum = 0;  
                    for(int k = 0; k < n; k++) 
                        sum += mas[i][k];
 
                    cout << "\nAmount of line items [" << i + 1 << "] = " << sum;
                }
            }
        }
 
    cout << "\n\n";
 
    int stb, str, min, max;
    for(int i = 0; i < n; i++)
    {
       stb = 0;
       min = mas[i][0];
 
       for(int j = 0; j < m; j++)
       {
           if(mas[i][j] <= min)
           {
               min = mas[i][j];
               stb = j;
           }
       }
        
       str = 0;
       max = mas[0][stb];
 
       for (int k = 0; k < n; k++)
       {
           if(max <= mas[k][stb])
           {
               str = k;
               max = mas[k][stb];
 
               if(min == max)
               {
                    cout << "i = " << str << "  " << "j = " << stb << "  " <<
                    "Saddle point = " << mas[str][stb] << endl;
                    flag = true;
                }
           }
       }
    }
 
    if(flag = false)
        cout << "No saddle points!\n\n";
 
    cout << "\n\n";
}
0
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
04.03.2013, 21:37  [ТС] #9
а программа только седловую точку ищет?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 21:40 #10
и считает сумму если в строке есть отрицательный элемент
0
Sergey3096
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 35
04.03.2013, 21:43  [ТС] #11
а как сделать чтоб матрицей выводило? и что такое количество позиций?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.03.2013, 22:08 #12
Sergey3096,

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
void main(void)
{
    int const n = 3, m = 4;
    bool flag = false;
    int mas[n][m];
 
    cout << "Enter the matrix:\n";;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
        {
            cout << "Enter the matrix element[" << i+1 << "][" << j+1 << "]: ";
                cin >> mas[i][j];
        }
 
    cout << "\n\nYour matrix:\n";;
    for(int i = 0; i < n; i++)
    {
        cout << "\n\t";
        for(int j = 0; j < m; j++)
            cout <<  setw(3) << mas[i][j] << " ";
    }
 
    cout << "\n";
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            if(mas[i][j] < 0)
            {
                int sum = 0;  
                for(int k = 0; k < m; k++) 
                    sum += mas[i][k];
 
                cout << "\nAmount of line items [" << i + 1 << "] = " << sum;
            }
        }
    }
 
    cout << "\n\n";
 
    int stb, str, min, max;
    for(int i = 0; i < n; i++)
    {
       stb = 0;
       min = mas[i][0];
 
       for(int j = 0; j < m; j++)
       {
           if(mas[i][j] <= min)
           {
               min = mas[i][j];
               stb = j;
           }
       }
        
       str = 0;
       max = mas[0][stb];
 
       for (int k = 0; k < n; k++)
       {
           if(max <= mas[k][stb])
           {
               str = k;
               max = mas[k][stb];
 
               if(min == max)
               {
                    cout << "i = " << str << "  " << "j = " << stb << "  " <<
                    "Saddle point = " << mas[str][stb] << endl;
                    flag = true;
                }
           }
       }
    }
 
    if(flag = false)
        cout << "No saddle points!\n\n";
 
    cout << "\n\n";
}
1
BumerangSP
04.03.2013, 22:38     Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент
  #13
 Комментарий модератора 
http://www.cyberforum.ru/cpp-beginners/thread798583.html
Закрыто.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 22:38
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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