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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2007, 19:08   #1
good_andy
 
Регистрация: 27.12.2007
Сообщений: 5
По умолчанию Не вижу ошибку...помогите. 1 курс задача на Си

Заепфался уже, ни как не могу увидеть ошибку.

Задачко:
Найти максимум среди всех локальных минимумов* заданной матрицы 10х12.
*Локальный минимум - если элемент строго меньше всех его соседей

Код:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

void main()
{
float mmin,min,A[10][12];
unsigned int j,i,n;

//вводим матрицу
for(i=0;i<10;i++)
    for(j=0;j<12;j++)
	scanf("%f",&A[i][j]);

//вводим матрицу
for(i=0;i<10;i++)
    {cout<<endl;
     for(j=0;j<12;j++)
	 printf(" %2.0f",A[i][j]);}

printf("\n\n\n");

for(i=0;i<10;i++)
{for(j=0;j<12;j++)
if(
(A[i][j]<A[i-1][j-1])&&
(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])&&
(A[i][j]<A[i+1][j])&&
(A[i][j]<A[i+1][j-1])&&
(A[i][j]<A[i][j-1]))
min=A[i][j];
if (min>mmin) {mmin=min;
printf(" %2.0f",mmin);}};


getch();
}
good_andy вне форума Ответить с цитированием
Старый 27.12.2007, 19:19   #2
good_andy
 
Регистрация: 27.12.2007
Сообщений: 5
По умолчанию

...плиз, помогите!!! завтра Сдавать
good_andy вне форума Ответить с цитированием
Старый 27.12.2007, 20:07   #3
good_andy
 
Регистрация: 27.12.2007
Сообщений: 5
По умолчанию

ну помогите...
в качестве компенсации могу дать около 15 рублей(больше нету) на Яндух деньги
good_andy вне форума Ответить с цитированием
Старый 27.12.2007, 22:43   #4
itisiam
аккаунт недоступен
Форумчанин
 
Регистрация: 23.01.2007
Сообщений: 107
Восклицание

А вы в чем программируете? У меня в VS6 добавил строку
Код:
#include "stdafx.h"
и все заработало
И еще не пойму зачем вы комбинируете <iostream.h> с <stdio.h> - это не очень то хорошо
ввел пароль, который мне не известен

Последний раз редактировалось itisiam; 27.12.2007 в 22:46.
itisiam вне форума Ответить с цитированием
Старый 28.12.2007, 23:48   #5
good_andy
 
Регистрация: 27.12.2007
Сообщений: 5
Сообщение

Цитата:
Сообщение от itisiam Посмотреть сообщение
А вы в чем программируете? У меня в VS6 добавил строку
Код:
#include "stdafx.h"
и все заработало
как оно могло работать когда там половины не было написано?!

Код:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

void main()
{int j,i,n,mmin,min,A[10][12];
mmin=0;
for(i=0;i<10;i++)                                     //вводим матрицу
    for(j=0;j<12;j++)
	scanf("%d",&A[i][j]);
for(i=0;i<10;i++)                                     //выводим матрицу
    {cout<<endl;
     for(j=0;j<12;j++)
	 printf("   %d",A[i][j]);}
printf("\n\n\n");
if(A[0][0]<A[0][1]&&A[0][0]<A[1][0]&&A[0][0]<A[1][1]) //проверка угловых элементов
{min=A[0][0];
if(min>mmin)mmin=min;};

if(A[0][11]<A[0][10]&&A[0][11]<A[1][11]&&A[0][11]<A[1][10])
{min=A[0][11];
if(min>mmin)mmin=min;};

if(A[9][0]<A[9][1]&&A[9][0]<A[8][0]&&A[9][0]<A[8][1])
{min=A[9][0];
if(min>mmin)mmin=min;};

if(A[9][11]<A[9][10]&&A[9][11]<A[8][10]&&A[9][11]<A[8][11])
{min=A[9][11];
if(min>mmin)mmin=min;};

for(j=1;j<11;j++){                                    //проверка элементов на гранях
if(
A[0][j]<A[0][j-1]&&
A[0][j]<A[0][j+1]&&
A[0][j]<A[1][j-1]&&
A[0][j]<A[1][j]&&
A[0][j]<A[1][j+1])
{min=A[0][j];
if(min>mmin)mmin=min;};};

for (j=1;j<11;j++){
 if(
A[9][j]<A[8][j]&&
A[9][j]<A[8][j-1]&&
A[9][j]<A[8][j+1]&&
A[9][j]<A[9][j-1]&&
A[9][j]<A[9][j+1])
{min=A[9][j]; };
if (min>mmin) {mmin=min;};};

for(i=1;i<9;i++){
 if(
A[i][0]<A[i][1]&&
A[i][0]<A[i-1][1]&&
A[i][0]<A[i+1][1]&&
A[i][0]<A[i-1][0]&&
A[i][0]<A[i+1][0])
{min=A[i][0]; };
if (min>mmin) {mmin=min;};};

for(i=1;i<9;i++){
 if(
A[i][11]<A[i][10]&&
A[i][11]<A[i+1][10]&&
A[i][11]<A[i-1][10]&&
A[i][11]<A[i+1][11]&&
A[i][11]<A[i-1][11])
{min=A[i][11]; };
if (min>mmin) {mmin=min;};};

for(i=1;i<9;i++)                                      //проверка внутренних элементов
{for(j=1;j<11;j++)

if(
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]&&
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])
{min=A[i][j]; };
if (min>mmin) {mmin=min;};};



printf("\n\n\nMax localnyi minimum:  %d",mmin);
getch();
}
good_andy вне форума Ответить с цитированием
Старый 29.12.2007, 01:00   #6
itisiam
аккаунт недоступен
Форумчанин
 
Регистрация: 23.01.2007
Сообщений: 107
По умолчанию

Как?? да легко .. работает - читай компилируется. я думал что у вас не компилируется, откуда мне знать о какой такой "ошибке" вы говорите
Как обычно не напишут ничего в описании а потом еще выступают тут
пс я что отмороженный - 120 элементов в ручную вводить?...
ввел пароль, который мне не известен

Последний раз редактировалось itisiam; 29.12.2007 в 01:03.
itisiam вне форума Ответить с цитированием
Старый 02.01.2008, 10:01   #7
good_andy
 
Регистрация: 27.12.2007
Сообщений: 5
По умолчанию

да ладно, не горячись
спасип и за то что воопще хоть чегота проповал
good_andy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не вижу причину ошибки k8ghost Помощь студентам 5 15.06.2008 15:04
Помогите найти ошибку Дима82 Помощь студентам 4 19.05.2008 15:05
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14
Помогите найти ошибку Рената Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2008 04:29
Помогите написать 2 лабы (1 курс) Lifter Помощь студентам 5 27.12.2007 14:15