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

Нужно переделать под 2х мерный массив - C++

Восстановить пароль Регистрация
 
Актиний
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 10
17.01.2013, 05:04     Нужно переделать под 2х мерный массив #1
задача следующая, используя функции сортировки масcива, отсортировать строки матрицы
есть вот такая прога, не пойму как переделать ее под N мерный массив( подправьте пожалуйста
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
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
 
int SortMass(int*, int);
 
int main (void)
{
    setlocale(LC_ALL,"Russian");
    int N=0;
    cout<<"Введите размерноть масива N:"<<endl;
    scanf("%d", &N);
    int* m = (int*)malloc(N);
    srand(time(0));
    for(int i = 0; i < N; i++)
    {
            int x = rand()%100;
            m[i] = x;
            printf(" %d ", m[i]);
    }
    printf("\n");
    SortMass(m, N);
    printf("After sort\n");
    for(int i = 0; i < N; i++)
      printf(" %d ", m[i]);
    free(m);  
    cin.get();
    cin.get();
    return 0;
}
 
int SortMass(int* m, int n)
{
     for(int i = n - 1; i >= 1; i--)
       for(int j = 0; j < i; j++)
       {
               if(m[j] > m[j+1])
               {
                       int foo = m[j];
                       m[j] = m[j+1];
                       m[j+1] = foo;
               }
       }  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 05:04     Нужно переделать под 2х мерный массив
Посмотрите здесь:

Переделать одномерный массив под функцию C++
C++ Нужно переделать программу с С++ под С
C++ Переделать под динамический массив
Под С++ нужно переделать C++
Нужно переделать код под функции (одномерный массив) C++
C++ Выручайте! Нужно переделать прогу под двусвязный список.ничего не понимаю)
выделить и удалить память под 4 мерный массив C++
Нужно переделать статический массив в динамический C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
17.01.2013, 06:25     Нужно переделать под 2х мерный массив #2
Цитата Сообщение от Актиний Посмотреть сообщение
под N мерный массив( подправьте пожалуйста
Так под N-мерный или всё-таки под ДВУМЕРНЫЙ размера N на N??? Предполагаю, что всё-таки второе.
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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
const int N=10;
int a[N][N];
void fill(){
    srand(time(NULL));
    for (int i=0; i<N; i++)
        for(int j=0; j<N; j++)
            a[i][j]=rand()%90+10;
}
void print(){
    for (int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    cout<<endl;
}
void sort(){
    int inext, jnext;
    int i, j;
    int temp;
    bool sorted=false;
    while(!sorted){
        sorted=true;
        i=0; j=0;
        for(inext=0; inext<N; inext++)
            for(jnext=(inext?0:1); jnext<N; jnext++)
            {
                if(a[i][j]>a[inext][jnext]){
                    temp=a[i][j];
                    a[i][j]=a[inext][jnext];
                    a[inext][jnext]=temp;
                    sorted=false;
                }
                i=inext;
                j=jnext;
            }
    
    }
}
int main() {
    setlocale(LC_ALL, "russian");
    fill();
    cout<<"До сортировки:"<<endl;
    print();
    sort();
    cout<<"После сортировки:"<<endl;
    print();
    system("pause");
    return 0;
}
Актиний
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 10
17.01.2013, 07:12  [ТС]     Нужно переделать под 2х мерный массив #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Так под N-мерный или всё-таки под ДВУМЕРНЫЙ размера N на N??? Предполагаю, что всё-таки второе.
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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
const int N=10;
int a[N][N];
void fill(){
    srand(time(NULL));
    for (int i=0; i<N; i++)
        for(int j=0; j<N; j++)
            a[i][j]=rand()%90+10;
}
void print(){
    for (int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    cout<<endl;
}
void sort(){
    int inext, jnext;
    int i, j;
    int temp;
    bool sorted=false;
    while(!sorted){
        sorted=true;
        i=0; j=0;
        for(inext=0; inext<N; inext++)
            for(jnext=(inext?0:1); jnext<N; jnext++)
            {
                if(a[i][j]>a[inext][jnext]){
                    temp=a[i][j];
                    a[i][j]=a[inext][jnext];
                    a[inext][jnext]=temp;
                    sorted=false;
                }
                i=inext;
                j=jnext;
            }
    
    }
}
int main() {
    setlocale(LC_ALL, "russian");
    fill();
    cout<<"До сортировки:"<<endl;
    print();
    sort();
    cout<<"После сортировки:"<<endl;
    print();
    system("pause");
    return 0;
}
спасибо
Yandex
Объявления
17.01.2013, 07:12     Нужно переделать под 2х мерный массив
Ответ Создать тему
Опции темы

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