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

Двумерные массивы. Количество отрицательных элементов. Седловые точки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка оператора + http://www.cyberforum.ru/cpp-beginners/thread1210774.html
Вот заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include <iostream> using namespace std; template<typename T>
C++ Копиляция программы работы с COM портом ...доброго времени суток, уважаемые форумчане!... не могу понять, как "победить" эти ошибки (скрин-шот, а также проект - COM_1.rar прилагаются)... не связаны ли они с тем, что работаю в Visual Studio 2008, а не в 2010? ...исходник взят отсюда http://how2.org.ua/программирование/работа-с-com-портом-на-c-в-windows.html , а сама страница в архиве - Работа с COM портом на C++ в Windows _... http://www.cyberforum.ru/cpp-beginners/thread1210770.html
C++ Присваивание элементов двумерного массива другому двумерному массиву
нужно элементы одного двумерного массива присвоить другому. Вот программа. Но для одномерного массива она работает, если соответственно убрать второй индекс, а для двумерного нет. Подскажите,, в чем ошибка? # include <iostream> # include <conio.h> using namespace std; int main() { double a, b;
Не могу понять в чем ошибка? C++
#include <stdlib.h> #include <iostream.h> #include <conio.h> #include <graphics.h> #include <math.h> #include <process.h> int XMAX, YMAX, COLORMAX; double RATIO;
C++ Нужен простой калькулютор http://www.cyberforum.ru/cpp-beginners/thread1210726.html
Пожалуйста помогите нужен простой калькулятор, в С++ но неделю, учюсь, да и если не трудно, можете обяснить, большое спасибо
C++ Найти площадь образовавшейся трапеции по формуле В правильном треугольнике проведена средняя линия. Найти площадь трапеции, образовавшуюся, дважды используя функцию вычисления площади правильного треугольника по формуле: s=((a*a)√3)/4 Помогите решить. подробнее

Показать сообщение отдельно
Recklessly
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 14
17.06.2014, 21:22     Двумерные массивы. Количество отрицательных элементов. Седловые точки
Задание такое:
Дана целочисленная прямоугольная матрица. Определить:
1.количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент;
2.номера строки и столбцов всех седловых точек матрицы.
Примечание. Матрица A имеет седловую точку Aij, если Aij является минимальным элементом в i-й строке и максимальным в j-м столбце.
Код ужасный и абсолютно не работоспособный(
C++ (Qt)
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
#include <iostream>
#include <time.h>
#include <iomanip>
using namespace std;
 
int count(int **a, const int n, const int m);
int sed(int **a, const int n, const int m);
 
int main()
{
    setlocale(LC_ALL, "rus");
    srand(time(0));
    const int n = 6, m = 5;
    int **a = new int*[n];
    for (int i = 0; i < n; i++)
        a[i] = new int[n];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            a[i][j] = rand() % 20 - 10;
            cout << setw(5) << "Массив: " << a[i][j] << endl;
        }
        cout << endl;
    }
    if (!cin.fail()){
        cout << "Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент: " << count(**a, n, m) << endl;
        cout << "Номера строки и столбцов седловых точек матрицы: " << sed(**a, n, m);
    }
    else
        cout << "Ошибка ввода!" << endl;
    system("pause");
    return 0;
}
 
int count(int **a, const int n, const int m)
{
    int s = 0;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
        {
        if (a[i][j] == 0)
        {
            for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
            {
                if (a[i][j] < 0)
                    s++;
            }
        }
    }
    return s;
}
 
int sed(int **a, const int n, const int m)
{
    int s;
    int min = 0;
    int max = 0;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
    {
        if (a[i][j] < min)
        {
            min = a[i][j];
            for (int j = 0; j < n; j++)
            for (int i = 0; i < m; i++)
            {
                if (a[j][i] > max)
                {
                    max = a[j][i];
                    if (min = max)
                        s = min;
                }
            }
        }
    }
    return s;
}
Помогите, пожалуйста!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru