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

Для матрицы размером NxM вывести на экран все седловые точки. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Несколько new [] подряд http://www.cyberforum.ru/cpp-beginners/thread401715.html
Доброго времени суток!!! Вообщем есть такой кусок кода: if (fn!=NULL) { memcpy(buf, fn, sizeof(buf)); NormalizeFileName(buf); f = fopen(buf, "r"); d = new int; Pixels = ReadTXT(f, &rCount, d); Max = new double;
C++ В каждой строке матрицы элемент, лежащий на главной диагонали заменить суммой ранее расположенных Обработка двумерных массивов. Элементы исходной матрицы выводятся из текстового файла.Результаты выводить на экран и в результатирующий текстовый файл.Матрицу выводить до и после преобразований. 1.В каждой строке матрицы F(k,k) элемент, лежащий на главной диагонали, если это простое число, заменить суммой ранее расположенных элементов. Строки. 2.Описать функцию WordN(S,k) целого... http://www.cyberforum.ru/cpp-beginners/thread401710.html
Считать текст из файла и вывести на экран все слова текста, начинающиеся с гласной буквы C++
Напиcать программу, которая считывает текст из файла и выводит на экран все слова текста, начинающиеся с гласной буквы, меняя ее на прописную букву. Добавлено через 7 минут #include <iostream.h> #include <string.h> #include<fstream.h> #include <conio.h> int main () { const int l=150; char *text;
C++ передать массив в функцию по значению
Подскажите,пожалуйста. Нужно с клавиатуры ввести число строк-столбцов ( т е они меняются в зависимости от условия) и передать массив в функцию. Сам массив не меняется в функции. Как его объявить в обращении и заголовке?
C++ Считывание и запись в файл http://www.cyberforum.ru/cpp-beginners/thread401689.html
Доброго времен суток всем экпспертам в области С++ Имеется задания нужно записать числа(псевдослучайные) в текстовый файл "vvod" и отрицательные числа заменить на ноль и вывести в следующий файл "vivod" ! Я смог только в файл записать эти числа. Прошу помощи в хотя-бы в поиске и замене! #include <iostream> #include <fstream> #include <time.h> using namespace std; ofstream fp;
C++ подскажите как правильно записать Суть в чем, нужно текст последовательно циклически сдвинуть на m / 2 позиций, и построить новые m / 2 − 1 строк. Например в С++ это просто реализовать через append: for (int i=1; i<10; i++){ string str; str.append(string,i,len-i); str.append(string,0,i); } но как правильно тоже самое записать на Си? >< Подскажите что-нибудь, а то я уже запуталась :) не знаю, может я и... подробнее

Показать сообщение отдельно
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.12.2011, 20:09     Для матрицы размером NxM вывести на экран все седловые точки.
Цитата Сообщение от alkagolik Посмотреть сообщение
A555, простите, но я с вами не согласен. Во - первых разберемся с термином "наименьший", я трактую как такой элемент, который меньше всех остальных. Если Таких элементов 2 и более, то наименьшего элемента нет. Это тонкость и я могу ошибаться, в случае если я ошибаюсь, то алгоритм становится намного быстрее, но и также появляется неопределенность вида "как указать программе, какой из двух минимумов вибрать для сравнения? первый? последний? все?", проверка на строгий минимум или строгий максимум эту неопределенность снимает. Во - вторых ваша программа выводит число, если оно является минимумом в одной строке и максимумом в другой. Никакой связки индексов не прослеживается, а по сути сами числа нам не нужны. Это просто не та программа, я когда решал ее даже как селет не брал в расчет.
блин всё простите ща исправлю)) не почиталл даже свой код он работает полностью верно_) просто он находит не селовую а минимальный в троках и максимальный в столбцах их совпадения сек

Добавлено через 1 минуту
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
87
88
89
90
91
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
class Matr        //klass
{
int **A,n,*max,*min;
public:
Matr(int _n):n(_n){}            //konstructor
void creat()                    //fun dlya dinamic videleniya pamyati
{
        A=new int*[n];               //dlya matrici
        for(int i=0;i<n;i++)
        A[i]=new int[n];
         for(int i=0;i<n;i++)
         {
                for(int j=0;j<n;j++)
         {
                A[i][j]=random(10);
            }
            }
         max=new int[n];                 //dlya massivov
         min=new int[n];
}
void poisk()                  //fun dlya naxojdenoya min v strokax i max v stolbcax
{
for(int i=0;i<n;i++)
{
        min[i]=A[i][0];
        for(int j=0;j<n;j++)
   {
      if(min[i]>A[i][j])
      {
        min[i]=A[i][j];
      }
        }
}
for(int i=0;i<n;i++)
{
        max[i]=A[i][0];
        for(int j=0;j<n;j++)
   {
      if(max[i]>A[j][i])
      {
        max[i]=A[j][i];
      }
        }
}
}
void vivod()                    //fun vivodim vsy matricy
{
        for(int i=0;i<n;i++)
                {
                         cout<<endl;
          for(int j=0;j<n;j++)
                {
                                printf("%3d",A[i][j]);
                }
                }
      cout<<endl;
 
      }
int vibor()
 {
 cout<<endl;
 for(int j=0;j<n;j++)
 {
        for(int i=0;i<n;i++)
   {
                 if(max[j]==min[i])             //esli est sovpadeniya v massivax znachit eto i budet sedlovoi tochkoi
       {cout<< max[j];
       return 0;}
    }
 }
 
}
 
};
int main()
{int n;
cout<<"vvedite razmer matrici";
cin>>n;
randomize();
Matr ob(n);
ob.creat();
ob.poisk();
ob.vivod();
ob.vibor();
cout<<endl;
system("pause");
return 0;
}
вот там только 1 знак равернуть

Добавлено через 13 минут
и ещё там не всё верно)) работает правильно но написать можно гораздо лучше)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru