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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на расчет площади по кривой http://www.cyberforum.ru/cpp-beginners/thread413254.html
Будьте добры, решите задачку на площадь объектно-ориентированным способом. За комментарии буду отдельно благодарен. Условие: Вычислить приближенно площадь одной арки синусоиды.
C++ Изменение порядка следования битов Помогите плз с программой Написать программу на с++, которая получает случайное целое типа int, выводит его двоичное представление на экран, выполняет следующее преобразование. Назовем триплетом группу из трех битов. В каждом третьем триплете, начиная с младшего, изменить порядок следования битов на обратный. http://www.cyberforum.ru/cpp-beginners/thread413253.html
C++ Работа со строками и файлами в языке С++
Вывести на экран самое длинное слово и определяет, сколько раз оно встретилось в тексте.
Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст по одному разу, все согласные, которые входят C++
Помогите исправить код, чтобы программа верно работала Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст по одному разу, все согласные, которые входят в каждое слово. //#include "stdafx.h" #include <string> #include <set> #include <iostream> #include <sstream> #include <vector>
C++ два класса с преобразованием. Помогите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread413232.html
Определить два класс, строку с преобразование из char * в строку и обратно и Double с преобразованием из double и обратно, а также взаимное преобразование String и Double.
C++ Одномерный массив Помогите с написанием программы. Для одномерного массива длиной N 1. Найти среднее геометрическое всех элементов, значение которых больше 5 (x >5) 2. Посчитать среднее арифметическое произведений соседних элементов. подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.12.2011, 19:16     Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10
Цитата Сообщение от ilyashis Посмотреть сообщение
напишите прогу полностью
Этот вариант - если считать соседями элементы справа, слева, снизу, сверху (т.е. всего максимум 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
41
42
43
#include <iostream>
#include <stdlib.h>
#include <time.h> 
#include <cmath>
using namespace std;
 
int main ()
{
    srand( time( NULL ) );
    const int n=10; 
    int a[n][n], i,j,  sum=0, col=0;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
          a[i][j]=rand()%10;
    cout<<"Ishodn matr:"<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    bool fl;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
        {
                fl=true;
                if(i>0 && a[i-1][j]<=a[i][j])
                        fl=false;
                if(j>0 && a[i][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && a[i+1][j]<=a[i][j])
                        fl=false;
                if(j<n-1 && a[i][j+1]<=a[i][j])
                        fl=false;
                if(fl)
                        col++;
                if(j<n-1-i)
                        sum+=abs(a[i][j]);
        }
    cout<<"Col-vo lokaln minim: "<<col<<endl<<"Sum mod elementov: "<<sum<<endl;
  
    return 0; 
}
Этот вариант если считать соседями элементы справа, слева, снизу, сверху, слева сверху, слева снизу, справа сверху, справа снизу (т.е. всего максимум 8 соседних элемента):
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
#include <iostream>
#include <stdlib.h>
#include <time.h> 
#include <cmath>
using namespace std;
 
int main ()
{
    srand( time( NULL ) );
    const int n=10; 
    int a[n][n], i,j,  sum=0, col=0;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
          a[i][j]=rand()%10;
    cout<<"Ishodn matr:"<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    bool fl;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
        {
                fl=true;
                if(i>0 && a[i-1][j]<=a[i][j])
                        fl=false;
                if(j>0 && a[i][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && a[i+1][j]<=a[i][j])
                        fl=false;
                if(j<n-1 && a[i][j+1]<=a[i][j])
                        fl=false;
                if(i>0 && j>0 && a[i-1][j-1]<=a[i][j])
                        fl=false;
                if(i>0 && j<n-1 && a[i-1][j+1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j>0 && a[i+1][j-1]<=a[i][j])
                        fl=false;
                if(i<n-1 && j<n-1 && a[i+1][j+1]<=a[i][j])
                        fl=false;
                if(fl)
                        col++;
                if(j<n-1-i)
                        sum+=abs(a[i][j]);
        }
    cout<<"Col-vo lokaln minim: "<<col<<endl<<"Sum mod elementov: "<<sum<<endl;
  
    return 0; 
}
 
Текущее время: 20:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru