Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2009, 23:40   #1
denisk0
 
Регистрация: 23.05.2009
Сообщений: 9
По умолчанию Маленькая проблемка с поиском лок минимумов

Подсчитать количество локальных минимумов
заданной матрицы (локальный минимум - элемент, который
строго меньше своих соседей).

#include<stdio.h>
#include<math.h>
#include<conio.h>

void main()
{
int a[4][4];
int i,j,s=0,k,n;
clrscr();
printf("vvedite razmernost n=");
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
puts("vvedit element masiva:");
scanf("%d",&a[i][j]);
}}
if (i=0) - вот ошибка(забыл удалить)


if ((j==n)&&(i==0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j]))
s++;
}}
if ((i==0)&&(j==0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i+1][j-1]))
s++;
}}
if ((i==n)&&(j==0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i-1][j]))
s++;
}}
if ((i==n)&&(j==n))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j]))
s++;
}}
if ((i==0)&&(j!=n)&&(j!=0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j])
&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j+1]))
s++;
}}
if ((i==n)&&(j!=n)&&(j!=0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j])
&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i-1][j+1]))
s++;
}}
if ((j==0)&&(i!=n)&&(i!=0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
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][j+1])&&(a[i][j]<a[i-1][j+1]))
s++;
}}
if ((j==n)&&(i!=n)&&(i!=0))
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
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][j-1])&&(a[i][j]<a[i-1][j-1]))
s++;
}}
else
for(i=0;i<n;i++){
for(j=0;j<n;j++)
{
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-1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j]))
s++;
}}
for(i=0;i<n;i++){printf("\n");
for(j=0;j<n;j++){
printf(" %d",a[i][j]);
}}
printf("Kolichestvo lok min=%d",s);
getch();


}
почемуто неправильно выводит хотя я все условия поверил (на углах и по бокам)

Последний раз редактировалось denisk0; 25.05.2009 в 23:47. Причина: ошибка
denisk0 вне форума Ответить с цитированием
Старый 25.05.2009, 23:44   #2
denisk0
 
Регистрация: 23.05.2009
Сообщений: 9
По умолчанию

ой всё нашол
denisk0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оператор for,маленькая проблемка Dimmy Помощь студентам 2 24.11.2008 19:13
Маленькая программка pLo_ua Помощь студентам 21 12.10.2008 00:43
Не маленькая недороботка Sibedir О форуме и сайтах клуба 2 10.12.2007 13:27
Маленькая недоработка... Карась О форуме и сайтах клуба 2 09.12.2007 18:34
Проблемка с поиском Glyuk24 Помощь студентам 6 24.11.2007 22:31