Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 1
Регистрация: 01.06.2013
Сообщений: 8
1

Упорядочить столбцы матрицы по возрастанию элементов

24.11.2013, 20:40. Просмотров 3165. Ответов 3
Метки нет (Все метки)

Добрый день уважаемые форумчане, есть задачка, над которой я уже довольно долго ломаю голову. Буду очень благодарен если Вы мне поможете в написании программы.

Вот собственно и сама задачка:
Дана матрица размером n*m. Упорядочить столбцы матрицы по возрастанию элементов. Использовать метод пузыpька. Алгоpитм заключает¬ся в следующем : массив пpосматpивается по пеpекpещивающимся паpам чи¬сел (аi,ai+1). Если аi>аi+1, они меняются местами. Пеpестановки подсчи¬тываются. Алгоpитм завеpшает pаботу, если пpи пpосмотpе массива нет ни одной пеpестановки.

Вот текст той программы, которую я написал, но она не работает.
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <windows.h>
#include <vcl.h>
#define N 1000
void main()
{system("chcp 1251");
system("cls");
int i,j,n,m,c,tmp,mas[1][1],a[N];
printf ("Введите число строк: ");
scanf ("%d", &n);
printf ("Введите число столбцов: ");
scanf ("%d", &m);
for ( int i=0; i<n; i++)
{
   for ( int j=0; j <m; j++)
   {
    mas [i][j] =10+rand()%120;
    }
}
 
for ( i=0; i<n; i++)
{
   for ( j=0; j <m; j++)
   {if (a[j]>a[j+1])
     {tmp = a[j + 1];
     a[j + 1] = a[j];
     a[j] = tmp;
     c++;
      }
    }
}
printf ("Количество перестановок %d", c);
 
 
for ( i = 0; i < n; i ++ )
{
    for ( j = 0; j < m; j ++ )
    {
      printf ( "%5d", mas[i][j] );
    }
   printf("\n");
}
getchar();
getchar();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2013, 20:40
Ответы с готовыми решениями:

Упорядочить столбцы матрицы по возрастанию их минимальных элементов
Собственно не получается никак написать программу. Условие: дана матрица размером NxM.Упорядочить...

Упорядочить столбцы матрицы по возрастанию их наименьших элементов
Ребята проблемка,помогите разобраться...Что-то не то получается...Посмотрите пожалуйста исправьте...

Упорядочить столбцы матрицы по возрастанию их наименьших элементов
Вот ошибки выбивает проверьте пожалуйста. Дана матрица размером NxM. Упорядочить столбцы матрицы...

Упорядочить столбцы матрицы по возрастанию их наименьших элементов, в чем ошибка?
Вот условие задачи. Дана матрица размером NxM. Упорядочить ее столбцы по возрастанию их наименьших...

3
835 / 493 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
24.11.2013, 21:02 2
Так?
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 <ctime>
#include <iomanip>
 
const int n = 5;
const int m = 6;
 
int main()
{
    srand (time(NULL));
    int a[n][m];
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            a[i][j] = rand()%20 + 1;
            std::cout <<std::setw(3) <<a[i][j] <<" ";
        }
        std::cout <<std::endl;
    }
    std::cout <<std::endl;
    int tmp;
    bool f;
    for (int j=0; j<m; j++)
    {
        do
        {
            f = true;
            for (int i=0; i<n-1; i++)
                if (a[i+1][j]<a[i][j])
                {
                    f = false;
                    tmp = a[i+1][j];
                    a[i+1][j] = a[i][j];
                    a[i][j] = tmp;
                }
        }
        while (!f);
    }
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
            std::cout <<std::setw(3) <<a[i][j] <<" ";
        std::cout <<std::endl;
    }
    return 0;
}
0
0 / 0 / 1
Регистрация: 01.06.2013
Сообщений: 8
24.11.2013, 21:07  [ТС] 3
Не совсем всё понятно, и жаль, что ты написал не на C а на C++, мне бы мой вариант подкорректировать.
0
835 / 493 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
24.11.2013, 21:33 4
Цитата Сообщение от SlavKil Посмотреть сообщение
и жаль, что ты написал не на C а на C++
Так и спрашивал бы в разделе C, зачем в C++ тогда написал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2013, 21:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца
упорядочить столбцы матрицы по не возрастанию значений наименьших элементов столбца! ПОМОГИТЕ!!!...

Упорядочить столбцы матрицы по возрастанию произведений элементов в каждом столбце
Упорядочить столбцы матрицы по возрастанию произведений элементов в каждом столбце.

Упорядочить столбцы целочисленной прямоугольной матрицы по возрастанию произведения элементов
Помогите пожалуйста написать код программы) Упорядочить столбцы целочисленной прямоугольной...

Упорядочить столбцы матрицы по возрастанию количества одинаковых элементов в каждом столбце
Дана целочисленная прямоугольная матрица. Упорядочить столбцы матрицы по возрастанию количества...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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