Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Alibatros007
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 10
#1

Select Sort - C++

17.12.2009, 23:19. Просмотров 1584. Ответов 6
Метки нет (Все метки)

Здравствуйте.

Задача состоит в том чтоб отсортировать строки матрицы NxM (то есть поменять их местами), по возрастанию первых чисел в строках матрицы.
При компиляции алгоритма
C++
1
2
3
4
5
6
7
8
9
10
11
for(i=0;i<n-1;i++){
      for(j=0;j<m-1;j++){
          if(j==0){
              min=i;
              for(k=i+1;k<m;k++){
                  if(a[k][j]<a[min][j]) min=k;
                  }
                  if(i!=min){
                      t=a[i][j];
                      a[i][j]=a[min][j];
                      a[min][j]=t;}}}}
выдает не то что надо...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2009, 23:19     Select Sort
Посмотрите здесь:

Сортировка двумерного массива методом Выбора. Select sort - C++
Задание: Упорядочить каждую строку матрицы по убыванию. Отсортировал пузырьком, а вот &quot;Выбором&quot; никак. Весь день убил на это. Возможно,...

Упорядочите строки по возрастанию методом сортировки выбором (Select Sort) - C++
Здравствуйте! Пожалуйста помогите решить задачки. 1.Дан двумерный массив А(M, M) в виде квадратной матрицы. Упорядочите строки по...

sort() - C++
пожалуйста напишите несколько примеров,с перегруженными версиями sort? vector&lt;int&gt; vec; vec.push_back(100); vec.push_back(10); ...

Sort() - C++
Страуструп в своей книге вызывает эту функцию без всяких дополнительных библиотек. У меня же такая функция в стандартной библиотека...

Quick sort c++ - C++
Добрый день. Есть вопрос, как можно реализовать Quick sort с подсчётом перестановок. По условию задания у нас есть 10000 элементов. ...

Merge sort - C++
Здравствуйте, пытаюсь написать сортировку по методу слияния (merge). не получается, подскажите пожалуйста в чем ошибка? void...

qsort vs sort - C++
Собственно вопрос что лутше, в каких ситуациях, и почему , спасибо

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:09     Select Sort #2
что выдает?
Alibatros007
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 10
18.12.2009, 00:13  [ТС]     Select Sort #3
Цитата Сообщение от niXman Посмотреть сообщение
что выдает?

если задать n=3 и m=3
и матрицу
2 1 3
0 2 5
-1 2 3

то вывод таков
-1 1 3
0 2 5
2 2 3
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:17     Select Sort #4
покажи весь код программы и скажи, на каком ЯП нужно решить?
Alibatros007
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 10
18.12.2009, 00:19  [ТС]     Select Sort #5
Цитата Сообщение от niXman Посмотреть сообщение
покажи весь код программы и скажи, на каком ЯП нужно решить?
#include<iostream>

using namespace std;



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int main()
 {
  int a[100][100],n,m,t,i,k,j,min;
  cout<<"Enter N: ";
  cin>>n;
  cout<<"\nEnter M: ";
  cin>>m;
  cout<<"Enter the elements of the matrix: "<<endl;
  for(i=0;i<n;i++){
      for(j=0;j<m;j++){
          cout<<"["<<i<<"]"<<"["<<j<<"]= ";
          cin>>a[i][j];}}
  cout<<"\n\nMatrix: "<<endl;
  for(i=0;i<n;i++){
      for(j=0;j<m;j++){
          cout<<" "<<a[i][j];}
          cout<<endl;}
  cout<<"\n";
  for(i=0;i<n-1;i++){
      for(j=0;j<m;j++){
          if(j==0){
              min=i;}
              for(k=i+1;k<m;k++){
                  if(a[k][j]<a[min][j]) min=k;
                  }
                  if(i!=min){
                      t=a[i][j];
                      a[i][j]=a[min][j];
                      a[min][j]=t;}}}
  for(i=0;i<n;i++){
      for(j=0;j<m;j++){
          cout<<" "<<a[i][j];}cout<<endl;}
  return 0;                           }
С++
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:37     Select Sort #6
если позволено писать на с++, нафига изобретать велосипеды?!

вот скелет, допиши сам:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <vector>
#include <iostream>
#include <algorithm>
 
/** предикат */
template<typename T>
struct MyCompare {
    bool operator() (const T& a, const T& b) const {
        return *a.begin() < *b.begin();
    }
};
 
int main() {
    int n, m;
    std::cin >> n >> m;
 
    /** матрица указанного размера */
    std::vector<std::vector<int> > array(m, std::vector<int>(n, 0));
 
    /** итераторы на столбец и строку соответственно */
    std::vector<std::vector<int> >::iterator x = array.begin();
    std::vector<int>::iterator y = x->begin();
 
    /** заполняем */
    for ( ; x != array.end(); x++ ) {
        for ( ; y != x->end(); y++ ) {
            std::cin >> *y;
        }
    }
 
    std::sort(array.begin(), array.end(), MyCompare<std::vector<int> >());
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2009, 00:54     Select Sort
Еще ссылки по теме:

Merge sort - C++
Было 100500 раз, знаю. Видел коды, но всеравно не понимаю. У меня есть класс Array. class Array { private: int *arr; public: ...

list sort() - C++
Подскажите пожалуйста. Есть упрощенный класс class NOTE { public: char name; char surname; char phoneNumber; ...

Алгоритм sort - C++
Товарищи, подскажите, в чем косяк? std::vector&lt;gc_node *&gt; nodes; ... void gc_algorithm::put_data(std::string str_put) { ...

q-sort сортировка - C++
Здраствуйте , не могу понять где в коде ошибка . Выдает такое :d:\program...

Merge Sort - C++
написал реализацию Merge Sort но что то не так получилось))) помогите найти ошибку ) using namespace std; void Merge(int ,int ,int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Alibatros007
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 10
18.12.2009, 00:54  [ТС]     Select Sort #7
Спасибо
Yandex
Объявления
18.12.2009, 00:54     Select Sort
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru