Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: седловое число в двухмерном массиве  (Прочитано 6223 раз)
0 Пользователей и 1 Гость смотрят эту тему.
shema
Гость
« : 07-03-2007 23:47 » 

  Перекур
Привет всем!!! Народ помогите разобраться,недавно начал учить С++,опыта очень мало,необходимо найти седловую точку в двухмерном массиве на С++,этот код компилируется, но алгоритм сам неверный,что необходимо изменить?Кто знает, подскажите!!! Зарание большое благодарю!

Код:
#include<iostream>
#include<windows.h>
#include<math.h>
#include<time.h>
using namespace std;
 const int q=10;
 const int w=10;
 void print(int ar[q][w],int q)
 {
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
cout<<ar[i][j]<<" ";
}
cout<<endl;
}
 }
 void seartch(int ar[][w],int q);
 void Seartch(int ar[][w],int q);
 void Sedl(int ar[][w],int q);
 void main()
 {
SetConsoleOutputCP(1251);
srand((unsigned)time(NULL));
int ar[q][w];
int max=0;
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
ar[i][j]=rand()%11;
}
}
   print(ar,q);
   cout<<endl;
   seartch(ar,q);
   cout<<endl;
   Seartch(ar,q);
   cout<<endl;
   Sedl(ar,q);
 }
 //нахождение минимального в строке.
 void seartch(int ar[][w],int q)
 {
int min=ar[0][0];
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
if(min>ar[i][j )
min=ar[i][j];
}
cout<<" Минимальное значение строки равно "<<min<<endl;
min=ar[i][j];
}
 }
 /////////////////////////////////////////////////////////////////////
 //нахождение максимального в столбце.
 void Seartch(int ar[][w],int q)
 {
int Max=ar [0][0];
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
if(Max<ar[j][i])
Max=ar[j][i];
}
cout<<" Максимальное значение столбца "<<Max<<endl;
Max=0;
}
 }
 //////////////////////////////////////////////////////////////////////
 //нахождение седлового числа.
 void Sedl(int ar[][w],int q)
 {
int min=ar[0][0];
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
if(min>ar[i][j])
min=ar[i][j];
}
min=0;
}
int Max=ar[0][0];
for(int i=0;i<q;i++)
{
for(int j=0;j<w;j++)
{
if(Max<ar[j][i])
Max=ar[j][i];
}
Max=0;
}
if(min==Max&&Max!=0||min!=0)
{
cout<<" Число "<<Max<<" седловое"<<endl;
}
else
{
cout<<" Седлового числа нет "<<endl;
}
 }
« Последнее редактирование: 15-02-2008 14:19 от Вад » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 08-03-2007 05:12 » 

код компилируется, но алгоритм сам неверный

Сначала тебе нужно усвоить, что программирование и язык программирования это не одно и то же. И начинать нужно с первого.
А, судя по ошибкам в приведённом коде, за код тебе браться ещё рано.
Запиши сначала алгоритм на простом человеческом языке. Как это сделать - посмотри на форуме - уже много раз было. Особое внимание удели организации цикла.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
shema
Гость
« Ответ #2 : 09-03-2007 23:45 » 

за совет багодарю, но нужна реальная помощь!
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 10-03-2007 15:26 » 

Куда ж реальней? Понимаешь, за код тебе браться ещё рановато. Я тебе не случайно про циклы сказал. Такие циклы как у тебя даже начинающие не смогут сделать! Внешние циклы по i зачем вобще-то? Для красоты? Ты вобще понимаешь, что ты кодируешь?

Поэтому реально - составь сначала алгоритм - правильный. А потом переведём его на С++.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines