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

Подскажите где ошибка (номер строк и столбцов всех седловых точек матрицы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Какую функцию выполняет приведенный код http://www.cyberforum.ru/cpp-beginners/thread533892.html
помогите кто знает что эта за функция... #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> const int N = 3; struct PRICE { char mag , tovar ;
C++ Исправить ошибки в приведенном коде #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int main() { int x,a,b,c,d,e,v,g,q=1,w=1; cout<<"Vvedite celoe 5-znachnoe chislo\n"; http://www.cyberforum.ru/cpp-beginners/thread533886.html
C++ Обработка массивов.
помогите сделать. буду благодарен
Не работает getline(); C++
Всем доброго дня:) Не работает кусочек кода: class Employee { private: string name;
C++ односвязный список С++ http://www.cyberforum.ru/cpp-beginners/thread533855.html
Народ, выручайте. Не могу понять откуда начаинать пилить прогу, хотя задание простым выглядит.... Построить линейный список из слов, хранящихся в текстовом файле (в каждой строке одно слово), Перед каждым узлом, содержащим слово “Паскаль”, вставить узел со словом “язык”. Особенно интересует как из файла в каждый узел списка заталкивать по слову. Весь день сижу туплю, а завтра сдавать надо...
C++ Объясните в чём ошибка (создать текстовой файл и заполнить целыми числами) Задание: нужно создать текстовой файл и заполнить его 100 целыми числами в интервале от -50 до 50. Ошибка выдаётся в строке "fp=fopen("input", "w");" , в чём может быть проблема? #include "stdafx.h" #include <iostream> #include <stdio.h> #include <vector> using namespace std; подробнее

Показать сообщение отдельно
denys_l
51 / 51 / 4
Регистрация: 26.09.2011
Сообщений: 186
30.03.2012, 00:18     Подскажите где ошибка (номер строк и столбцов всех седловых точек матрицы)
Твой правленный...
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
#include <iostream>
using namespace std;
 
void main(void)
{
int const n = 3, m = 3;
int mas[n][m] = {{-4,1,2},{-4,1,2},{1,2,3}};
int i,j;
cout << "Vvedite matricy" << endl;
for (i = 0; i < n; i++)
{
   for (j = 0; j < m; j++)
   {
       cout << " " << mas[i][j];
   }
   cout << endl;
}
        for(i=0; i<n; i++)
        {
            int min = mas[i][0];
            int imin = 0; 
            for(j=0; j<m; j++)            
                if(mas[i][j] < min)
                {
                min=mas[i][j];
                imin = i;
                }
           
   // j = m - 1;
        int max = mas[imin][0];
        int jmax = 0;
    for(int k=0; k<m; k++) 
        if(mas[k][imin] > max)
        {
   
            max=mas[k][imin];
            jmax=k;
        }
   
            if(max==min)
            cout<< "i=" << jmax << "  " << "j=" << imin << "  " << "sedlovay tochka = "<< mas[jmax][imin] << endl;
           
           
 
           }
        
    }
Добавлено через 10 минут
C++
1
2
3
4
5
            if(max==min)
            cout<< "i=" << imin << "  " << "j=" << jmax << "  " << "sedlovay tochka = "<< mas[imin][jmax] << endl;
            else
            cout << "sedlovoi tochki net" << endl;
            break;
Получается, что при первом проходе, если max не равен min выводится сообщение на экран, что седловой точки и выходим из цикла
C++
1
for(i=0; i<n; i++)
Хотя у нас есть ещё две строки
Потом, раньше
C++
1
j = m - 1;
бесполезная запись, так и не понял зачем
C++
1
2
3
4
5
6
7
for(j=0; j<m; j++)
            {
                if(mas[i][j] < min)
                {
                min=mas[i][j];
                imin = i;
                }
Это по видимому поиск минимума. По хорошему мы должны пройтись по всем элементам строки прежде, чем идти дальше. А тут мы делаем один проход и потом куда-то уходим, я так и не смог отследить как оно потом работает. т.е. ота скобка во второй строке ненужна.
Тоже самое здесь. Открывающая фигурная скобка не нужна
C++
1
2
3
4
5
6
for(int k=0; k<m; k++)
    {
        int max = mas[imin][0];
        int jmax = 0;
 
        {      if(mas[imin][k] > max)
Соответстенно и закрывающие надо убирать... и перед if скобка тоже не по месту стоит
 
Текущее время: 22:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru