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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 18:52   #1
kate311893
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 18
По умолчанию Первый максимум в диапозоне

Дан 2-мерный массив целых чисел. Для всех элементов, лежащих в диапозоне, ограмиченном числами x и y(вводят с клав.), найти первый максимум.

#include <iostream.h>
#include <conio.h>
#include<iomanip.h>
void main ()
{
clrscr();
const int M=3,N=4;
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
{
cout<<"Vvedite elementi ctroki "<<i<<"Vvedite elementi stolbca "<<j;
cin>>a[i][j];
}
for(i=0;i<M;i++)
{
for(int j=0;j<N;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}

int x,y,z,max,w,f;
cout<<"Vvedite diapazon";
cin>>x>>y;
if(y<x)
z=x;
x=y;
y=z;
int j;
max=x;
w=0;f=0;

for(i=0;i<N;i++)
for (j=0;j<M;j++)
if (a[i][j]>max&&a[i][j]<=y)
{max=a[i][j];w=i;f=j;break;}

cout<<max<<i<<j;
getch();
}
Уже недели 2 мучаю программу((( никак не получается.... помогите,пожалуйста
kate311893 вне форума Ответить с цитированием
Старый 18.05.2010, 20:53   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Уже недели 2 мучаю программу((( никак не получается.... помогите,пожалуйста
во-первых массив "a" используется но нигде не обьявлен, чем вы занимались аж 2 недели остается догадываться, т.к. эту ошибку обнаруживает компилятор
#include<iomanip.h> //у вас неиспользуется
if(y<x) //если хотите обменять значения переменных то нехватает фигурных скобок

Код:
if (a[i][j]>max&&a[i][j]<=y)
{max=a[i][j];w=i;f=j;break;}
//нашли первый элемент подходящий под диапазон и сразу break? это неверно. Кроме того, если в массиве нет ниодного элемента из нужного диапазона то max у вас будет хранить нижнюю границу диапазона, что неверно. И еще, ненашел где вы обьявили переменную i(если обьявили тут: for(int i=0;i<M;i++) то область видимости ограничена циклом)
----------
и еще, форматируйте текст нормально, невозможно читать: {max=a[i][j];w=i;f=j;break;}

Последний раз редактировалось rrrFer; 18.05.2010 в 20:54. Причина: добавил теги CODE
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимум суммы 2 элементов Siluet Общие вопросы Delphi 15 27.09.2009 00:20
Максимум если. Baloo007 Microsoft Office Excel 3 08.07.2009 13:01
максимум meteor Microsoft Office Excel 2 06.12.2008 13:08
Опишите множество Pr(1..20) и поместите в него все прстые числа в диапозоне от a до b SPARTA Помощь студентам 2 03.07.2008 00:23