0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 5
1

Не находит количество локальных минимумов

06.01.2014, 14:06. Показов 351. Ответов 0
Метки нет (Все метки)

Помогите с программой, не находит кол-во локальных минимумов. Вот что у меня получилось!
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include "stdafx.h"
#include "locale.h"
#include "conio.h"
#include "stdlib.h"
#include "time.h"
#include<iostream>
#include <fstream>
using namespace std;
 
int rnd( int range_min, int range_max )
{
    return (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
}
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL, "Russian");
 
int A[10][10], j, i, l, m, N, M;
 
printf("Вариант \n\n"
"Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.\n"
"Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.\n"
"1.)Найти сумму модулей элементов, расположенных выше главной диагонали.\n");
 
 
 
 
do{
printf("Введите количество строк M (1<M<=10): ");
scanf("%d", &M);
}while((M>10)||(M<2));
 
do{
printf("Введите количество столбцов N (1<N<=10): ");
scanf("%d", &N);
}while((N>10)||(N<2));
 
do{
 
printf("Заполнение массива: \n"
       " 1 - ввод с клавиатуры\n"
       " 2 - заполнение случайными числами\n"
       " Ваш выбор : ");
 
scanf("%d", &m);
 
switch(m){
 
    case 1: 
                 for(i=0; i<M; i++)
                 for(j=0; j<N; j++)
                 {
                   printf("Введите A[%d][%d]",i,j);
                   scanf("%d", &A[i][j]);
                 }
 
 
            break;
 
    case 2:
 
                 for(i=0; i<M; i++)
                 for(j=0; j<N; j++)
                 {
                   
                   A[i][j]=rnd(-10, 10 );
                 }
 
            break;
    default: printf("\nТакого действия нет"); break;
}
 
}while((m!=1)&&(m!=2));
for(i=0; i<M; i++)
{
    for(j=0; j<N; j++) printf("%5d ",A[i][j]);
    printf("\n");
}
 
int b,c,s,t,k=0,p,q,n,y,a[10][10];
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{                
                if ((i==0)&&(j==0))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j+1]))
                k++;
                if ((i==9)&&(j==9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j-1]))
                k++;
                if ((i==9)&&(j==0))
                if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j])&&(a[i][j]<a[i-1][j+1]))
                k++;
                if ((i==0)&&(j==9))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j-1]))
                k++;
                if ((i==0)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i+1][j]))
                k++;
                if ((i==9)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i-1][j]))
                k++;
                if ((j==0)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i][j+1]))
                k++;
                if ((j==9)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i][j-1]))
                k++;                                              
                }
for(i=1;i<9;i++)
for(j=1;j<9;j++)       
{
                       
                m=i-1;
                s=j-1;
                t=i+2;
                l=j+2;
                p=i;
                n=j;
                q=0;
                y=a[i][j];                      
                for(b=m;b<t;b++)
                for(c=s;c<l;c++)                                             
                if (y<a[b][c])                 
                q++;                     
                if (q==8)
                k++;
                
                }
cout<<"\nKol-vo.lokal.min- "<<k;
 
int sum=0;
double tt;
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
{if (j>i)
tt+=a[i][j];}}
cout<<"\nSumma- "<<tt;
 
_getch();
    return 0;
}
еще в 139 строчке visual studio не нравится что-то
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2014, 14:06
Ответы с готовыми решениями:

Количество локальных минимумов в списке
Всем привет, в списке нужно подсчитать кол-во локальных минимумов и вывести их. Подсчитать...

Количество локальных минимумов матрицы
Локальный минимум Элемент матрицы называется локальным минимумом, если его значение не превосходит...

Подсчитать количество локальных минимумов
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него...

Количество локальных минимумов матрицы
Матрицы (делфи) Текстовый файл Inlet.in содержит целочисленные значения элементов массива A....

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2014, 14:06

Количество локальных максимумов/минимумов
Как подсчитать количество локальных максимумов/минимумов в массиве? Не получается никак import...

Подсчитать количество локальных минимумов матрицы
Дан двумерный массив NxN. 1. Элемент матрицы называется локальным минимумом, если он строго меньше...

Подсчитать количество локальных минимумов в матрице
Соседями элемента в данной задаче являются переменные, как слева-справа, так и сверху-снизу? ...

Найти в массиве количество локальных минимумов
Привет. Нужна помощь в задачках, т.к. уеду до 31 числа. Не будет интернета и ПК. Дан массив,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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