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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2010, 15:43   #11
Darknes
Пользователь
 
Аватар для Darknes
 
Регистрация: 28.06.2010
Сообщений: 40
По умолчанию

народ напишите пожалуста код нахождения максимального элемента в строке и упорядовачивание по возростанию максимальных элементов.
а то у меня проблемы
for(k=0;k<m;k++)
{double min=a[k][0];
for(int p=k+1;p<=n-1;p++)
if(min>a[p][0]){min=a[p][0];}

if(k>0&&k<=n&&k-1>=0&&k-1<=n-1&&k!=k-1)
{for(p=0;p<n;p++)
{min=a[k][p];
a[k][p]=a[k-1][p];
a[k-1][p]=min;}}}
вот кусок проги но прога нихера не перестанавливает строчки. Зарание спасибо.
Darknes вне форума Ответить с цитированием
Старый 28.06.2010, 15:46   #12
Darknes
Пользователь
 
Аватар для Darknes
 
Регистрация: 28.06.2010
Сообщений: 40
По умолчанию

да еще матрица прямоугольная N x M.
Darknes вне форума Ответить с цитированием
Старый 28.06.2010, 16:16   #13
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Откомпилил, исправил ошибки, все работает
Код:
#include <iostream>
#include <conio.h>

using namespace std;
void main()
{int n,m; //n строки, m столбцы
 int i=1;
 cout<<"Vvedite n i m:\n";
cin>>n;cin>>m; //сначала строки потом сторбцы вводишь
double**a=new double*[n];
double**res=new double*[n];
for(int i=0;i<n;i++)
{a[i]=new double [m];
 res[i]=new double [m];
}
cout <<"\nVvedite elementi matritsi:\n";
for(int i=0;i<n;i++)
 for(int j=0;j<m;j++)
  cin>>a[i][j];
cout<<"\n";
for(i=0;i<n;i++)
{for(int j=0;j<m;j++)
   cout<<a[i][j]<<" ";
cout<<"\n";
}
cout<<"\n";

double* max = new double[n]; //значение максимальных элементов в строке
int* countMax = new int[n]; //содержит номер строки
for(int i=0;i<n;i++) //ищем значения наибольших значение в каждой строке
{max[i]=a[i][0];
 countMax[i]=i;
 for(int j=1;j<m;j++)
  if (a[i][j]>max[i])
   max[i]=a[i][j];
}
i=1;
double buf;
int bf;
while (i<n) //сортируем наибольшие значения
{if (max[i]<max[i-1])
  {buf=max[i]; max[i]=max[i-1]; max[i-1]=buf;
   bf=countMax[i]; countMax[i]=countMax[i-1]; countMax[i-1]=bf;
    i=1;
  }
 else i++;
}
for(i=0;i<n;i++)
 for(int j=0;j<m;j++)
  res[i][j]=a[countMax[i]][j];
cout <<"\nPoluchennaya matritsa:\n";
for(i=0;i<n;i++)
{for(int j=0;j<m;j++)
   cout<<res[i][j]<<" ";
  cout<<"\n";
}
getch();
for(i=0;i<n;i++)
{delete[]a[i];
  delete[]res[i];
}
delete[]a; 
delete[]res; 
delete[]max;
delete[]countMax;
}
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица hexx Фриланс 6 04.03.2010 16:32
матрица в 1С Steisha Помощь студентам 0 27.02.2010 15:08
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11