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

Сортировка двухмерного массива - C++

Восстановить пароль Регистрация
 
Serpentine
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 7
07.05.2011, 17:32     Сортировка двухмерного массива #1
Помогите!!!Нужно отсортировать двухмерный массив с использованием указателя.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
        setlocale(0,"");
        srand(time(NULL));   
        const int str=5;    
        const int stolb=5;    
        int mass[str][stolb];  
        int i,j,a,c,e=1,d=100,temp,x,z;
   
 
    cout<<"До сортировки""\n\n";
        for(i=0;i<str;i++)   
        {                      
                for(j=0;j<stolb;j++)
                 {
                        a=rand()%(d-e)+e;
                        mass[i][j]=a;
                        cout<<mass[i][j]<<"\t";
                 }
                cout<<"\n\n\n\n";
        }
        cout<<"\n\n";
      
        for(c=0;c<=(str*stolb);c++)
        {
               
       for(i=0;i<str;i++)
         {
               for(j=0;j<stolb-1;j++)
                {
                      if(mass[i][j]>mass[i][j+1])
                       {
                                 temp=mass[i][j];
                                 mass[i][j]=mass[i][j+1];
                                 mass[i][j+1]=temp;
                       }
                    }
             }
       
           for(x=0;x<stolb;x++)
         {
               for(z=0;z<str-1;z++)
                {
                      if(mass[z][x]>mass[z][x+1])
                       {
                                 temp=mass[z][x];
                                 mass[z][x]=mass[z][x+1];
                                 mass[z][x+1]=temp;
                       }
                   }
            }
         }
 
        
        cout<<"После сортировки по возрастанию""\n\n\n\n";
        for(i=0;i<str;i++)
        {
                for(j=0;j<stolb;j++)
                {
                        cout<<mass[i][j]<<"\t";
                }
                cout<<"\n\n\n\n";
        }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 17:32     Сортировка двухмерного массива
Посмотрите здесь:

C++ Сортировка первого столбца двухмерного массива.
Сортировка двухмерного масива C++
C++ вывод двухмерного массива
C++ Сортировка двухмерного массива
C++ Перемешивание двухмерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magirus
07.05.2011, 18:01
  #2
 Комментарий модератора 
не забывайте про теги форматирования кода
Alex1205
 Аватар для Alex1205
6 / 6 / 1
Регистрация: 14.01.2011
Сообщений: 81
07.05.2011, 19:42     Сортировка двухмерного массива #3
Немного не по теме, но может пригодиться))

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
using namespace std;
void reversArray(int[], int);
void sum(int[],int);
void repetition(int[],int);
int minimum(int[],int);
int main()
{
    const int size=10;
    int myArray[size]={1,2,2,4,4,3,6,7,6,6};
    reversArray(myArray,size);//выводит массив наоборот
    cout<<endl;
    sum(myArray,size);//находит суммы
    repetition(myArray,size);
    cout<<endl;
    cout<<"Min uneven number is: "<<minimum(myArray,size)<<endl;//выводит минимальное нечетное значение
}
/****************************************************************
//Написать программу, которая выводит содержимое массива наоборот.
*****************************************************************/
void reversArray(int Array[],int size)
{
    for(int i=size;i>0;i--)
        cout<<Array[i-1];
}
/**********************************************************************************
Написать программу, которая находит сумму четных и сумму нечетных элементов массива.
***********************************************************************************/
void sum(int Array[], int size)
{
    int evenCounter=0;//счетчик для четных элементов
    int unevenCounter=0;//счетчик для нечетных
    for(int i=0;i<size;i++)
    {
        if(Array[i]%2==0)
            evenCounter+=Array[i];
        else
            unevenCounter+=Array[i];
    }
    cout<<"Sum of even numbers is: " <<evenCounter<<endl;
    cout<<"Sum of uneven numbers is: "<<unevenCounter<<endl;
}
/**************************************************************************************************************
Написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран (ограничения: работает только если элементы массива <=1000)
****************************************************************************************************************/
void repetition(int Array[],int size)
{
   const int M=1000;
    
    int numbers[M]={0};//массив для записи, какой элемент сколько раз встретится...
    int counter = 0;
 for(int i=0;i<size;i++)                               // counter cycle
  numbers[ Array[i] ]++;
 cout<<"elements ";
 for(int i=0;i<M;i++) // display results
 {
  if(numbers[i]>1)
    cout<<i<<" ";
 }
}
/*****************************************************************************************************
Написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран
*******************************************************************************************************/
int minimum(int Array[], int size)
{
    int minimum=0;
    for(int i=0;i<size;i++)
    {
        if(Array[i]%2!=0)
            minimum=Array[i];
        for(i;i<size;i++)
        {
            if(Array[i]<minimum&&Array[i]%2!=0)
                minimum=Array[i];
        }
 
    }
    cout<<"\n\n";
    return minimum;
    
}
Serpentine
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 7
07.05.2011, 19:57  [ТС]     Сортировка двухмерного массива #4
Спасибо)) Пригодится действительно)
Вы не могли бы помочь с решением вот такой задачки:

Даны два массива, упорядоченных по возрастанию: А[n] и B[m]. Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
Я массив С сформировал....токо не могу его отсортировать...
Вложения
Тип файла: txt C[k].txt (547 байт, 13 просмотров)
Yandex
Объявления
07.05.2011, 19:57     Сортировка двухмерного массива
Ответ Создать тему
Опции темы

Текущее время: 12:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru