Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
axor
4 / 4 / 0
Регистрация: 24.11.2010
Сообщений: 11
1

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

24.11.2010, 23:59. Просмотров 1042. Ответов 10
Метки нет (Все метки)

помогите пожалуйста..
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2010, 23:59
Ответы с готовыми решениями:

Расположить элементы каждого столбца заданной матрицы по возрастанию значений
#include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { ...

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

Разделить элементы каждого столбца заданной матрицы на последний элемент столбца
Разделить элементы каждого столбца заданной матрицы на последний элемент...

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

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

10
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
25.11.2010, 00:44 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
48
49
50
51
52
53
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
 int i,j,k,m,n,temp;
 int** Array;
 printf("Enter number of strings:\n ");
 scanf("%d", &n);
 printf("Enter number of columns:\n ");
 scanf("%d", &m);
 Array=(int**)malloc(sizeof(int*)*n);
 for(i=0; i<n; ++i)
 Array[i]=(int*)malloc(sizeof(int)*m);
    for(i=0; i<n; ++i)
        {
            for(j=0; j<m; ++j)
                {
                 printf("Please enter %d x %d element:\n", i+1, j+1);
                 scanf("%d", &Array[i][j]);
                }
        }
 printf("Here is your array:\n");
    for(i=0; i<n; ++i)
        {
        for(j=0; j<m; ++j)
            {
               printf("%4d ", Array[i][j]);
                                           }
                   printf("\n");
                                             }
                        for(j=0;j<m;++j)
                        {
                            for(i=0;i<n;++i)
                            {
                                for(k=0;k<n;++k)
                                {
                                    if(Array[i][j]<Array[k][j])
                                    {temp=Array[i][j];Array[i][j]=Array[k][j];Array[k][j]=temp;}
                                }
                            }
                        }
printf("Here is your sorted array:\n");
                 for(i=0; i<n; ++i)
                     {
                    for(j=0; j<m; ++j)
                        {
                        printf("%4d ", Array[i][j]);
                                          }
                        printf("\n");
                                             }
getch();
}
2
voice8787
19 / 19 / 12
Регистрация: 21.08.2010
Сообщений: 136
25.11.2010, 00:53 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
#include<stdio.h>
#include<conio.h>
#define N 10
#define M 10
main()
{
int a[N][M];//matrica
int i,j;//s4et4iki stroki i stolbca
int n,m;//realniy razmer matrici
int tmp;//vremennaya peremennaya
clrscr();
//Vvod poriadka martici
do
 {printf("Vvedite kol-vo strok matrici >0:\n");
 printf("n=");
 scanf("%d",&n);
 printf("Vvedite kol-vo stolbcov matrici >0:\n");
 printf("m=");
 scanf("%d",&m);}
while(n<=0||m<=0);
 
//Vvod elementov
 printf("Vvedite elementi matrici:\n");
for (i=0;i<n;i++)
 {for (j=0;j<m;j++)
  {printf("a[%d][%d]=",i,j);
   scanf("%d",&a[i][j]);
  }
 }
 
//Vivod na4alnoy matrici
printf("\nNa4alnaya matrica:\n");
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {printf("a[%d][%d]=",i,j);
   printf("%d ",a[i][j]);
  }
  printf("\n");
 }
 
 for (j=0;j<m;j++)
 {
  for (i=0;i<n-1;i++)
  {
    if(a[i][j]>a[i+1][j])
      {tmp=a[i][j];
       a[i][j]=a[i+1][j];
       a[i+1][j]=tmp;
      }
   }
 }
 
//Vivod matrici
 printf("\nRezultat:\n");
 for (i=0;i<n;i++)
 {
  for (j=0;j<m;j++)
  {printf("a[%d][%d]=",i,j);
   printf("%d ",a[i][j]);
  }
  printf("\n");
 }
getch();
}
2
axor
4 / 4 / 0
Регистрация: 24.11.2010
Сообщений: 11
25.11.2010, 02:32  [ТС] 4
огромное спасибо...
вы гении...)))
1
axor
4 / 4 / 0
Регистрация: 24.11.2010
Сообщений: 11
30.11.2010, 11:23  [ТС] 5
подскажите с комментариями

Добавлено через 1 минуту
Очень нужны комментарии(((
1
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
30.11.2010, 12:30 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
 int i,j,k,m,n,temp;
 int** Array; /*создаем матрицу с помощью указателей */
 printf("Enter number of strings:\n "); /*пользователь задает кол-во строк и столбцов */
 scanf("%d", &n);
 printf("Enter number of columns:\n ");
 scanf("%d", &m);
 Array=(int**)malloc(sizeof(int*)*n); /*выделение динамической памяти*/
 for(i=0; i<n; ++i)
 Array[i]=(int*)malloc(sizeof(int)*m);
    for(i=0; i<n; ++i)  /*пользователь вводит элементы матрицы*/
        {
            for(j=0; j<m; ++j)
                {
                 printf("Please enter %d x %d element:\n", i+1, j+1);
                 scanf("%d", &Array[i][j]);
                }
        }
 printf("Here is your array:\n"); /*вывод введенной матрицы*/
    for(i=0; i<n; ++i)
        {
        for(j=0; j<m; ++j)
            {
               printf("%4d ", Array[i][j]);
                                           }
                   printf("\n");
                                             }
                        for(j=0;j<m;++j) /*сортировка*/
                        {
                            for(i=0;i<n;++i)
                            {
                                for(k=0;k<n;++k)
                                {
                                    if(Array[i][j]<Array[k][j])
                                    {temp=Array[i][j];Array[i][j]=Array[k][j];Array[k][j]=temp;}
                                }
                            }
                        }
printf("Here is your sorted array:\n"); /*вывод отсортированного массива*/
                 for(i=0; i<n; ++i)
                     {
                    for(j=0; j<m; ++j)
                        {
                        printf("%4d ", Array[i][j]);
                                          }
                        printf("\n");
                                             }
for(i=0;i<n;++i) /*освобождение памяти*/
free(Array[i]);
free(Array);
getch();      /*чтобы консоль не закрывалась после выполнения*/
}
2
axor
4 / 4 / 0
Регистрация: 24.11.2010
Сообщений: 11
30.11.2010, 14:23  [ТС] 7
так как приходиться вводить числа вручную
я хочу ввести авто режим,
что бы программа сама вводила любые числа...
но при этом был выбор перед пользователем
в ручную вводить или прогамма водила так как матрица может быть 100 х 100

я вижу это так:
ввести новые переменные : M, N, r

далее
C++
1
2
3
4
5
6
7
8
9
10
11
int r =1
cout<<"режим работы программы"
cout<<"если авто, то 1"
cout<<"если в ручном , то 2"
 
if (r==2) goto M(М-допустим ручной режим,который указанный в программе)
 
goto N(avto): a[i][j]=rand ()0% 50+50  [COLOR="Yellow"]тут ошибка наверно[/COLOR]
for (int i=0; i<0;i++)
for  (int j=0;j<0;j++)
cout <<a[i][j];
как то так...
просто я не знаю и не умею это делать
помогите...!!
1
dihlofos
Бродяга
304 / 258 / 56
Регистрация: 27.08.2010
Сообщений: 553
30.11.2010, 14:38 8
Как-нибудь так, хотя можно и в отдельные функции вынести.
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
  srand(time(NULL));
  printf("Select mode: 1 - input, 2 - random\n");
  scanf("%d",&ch);
  if(ch==1)
  {
       for(i=0; i<n; ++i)  /*пользователь вводит элементы матрицы*/
       {
            for(j=0; j<m; ++j)
            {
                 printf("Please enter %d x %d element:\n", i+1, j+1);
                 scanf("%d", &Array[i][j]);
            }
        }
  }
  else
  {
    for(i=0; i<n; ++i)  /*рандомное заполнение*/
        {
            for(j=0; j<m; ++j)
        {
        Array[i][j]=rand()%50; /* число от 0 до 49*/
        }
    }
  }
1
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
30.11.2010, 15:18 9
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
 int i,j,k,m,n,temp,state;
 int** Array; /*создаем матрицу с помощью указателей */
 printf("Enter number of strings:\n "); /*пользователь задает кол-во строк и столбцов */
 scanf("%d", &n);
 printf("Enter number of columns:\n ");
 scanf("%d", &m);
 Array=(int**)malloc(sizeof(int*)*n); /*выделение динамической памяти*/
 for(i=0; i<n; ++i)
 Array[i]=(int*)malloc(sizeof(int)*m);
 printf("If you want to input array manually press 1, for auto input press 0: ");
 scanf("%d", &state);
 switch(state){
     case 1:
    for(i=0; i<n; ++i)  /*пользователь вводит элементы матрицы*/
        {
            for(j=0; j<m; ++j)
                {
                 printf("Please enter %d x %d element:\n", i+1, j+1);
                 scanf("%d", &Array[i][j]);
                }
        }
        break;
    case 0:
    for(i=0;i<n;++i)
    {
        for(j=0;j<m;++j)
        {
            Array[i][j]=rand() % 100;
        }
    }
    break;
 }
 printf("Here is your array:\n"); /*вывод введенной матрицы*/
    for(i=0; i<n; ++i)
        {
        for(j=0; j<m; ++j)
            {
               printf("%4d ", Array[i][j]);
                                           }
                   printf("\n");
                                             }
                        for(j=0;j<m;++j) /*сортировка*/
                        {
                            for(i=0;i<n;++i)
                            {
                                for(k=0;k<n;++k)
                                {
                                    if(Array[i][j]<Array[k][j])
                                    {temp=Array[i][j];Array[i][j]=Array[k][j];Array[k][j]=temp;}
                                }
                            }
                        }
printf("Here is your sorted array:\n"); /*вывод отсортированного массива*/
                 for(i=0; i<n; ++i)
                     {
                    for(j=0; j<m; ++j)
                        {
                        printf("%4d ", Array[i][j]);
                                          }
                        printf("\n");
                                             }
for(i=0;i<n;++i) /*освобождение памяти*/
free(Array[i]);
free(Array);
getch();      /*чтобы консоль не закрывалась после выполнения*/
}
1
shappa
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 4
30.11.2010, 19:39 10
BrumbleHorse

это ведь на языке С..
а как будет на С++?
0
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
01.12.2010, 00:46 11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
 int i,j,k,m,n,temp,state;
 int** Array; /*создаем матрицу с помощью указателей */
 cout<<"Enter number of strings:\n "; /*пользователь задает кол-во строк и столбцов */
 cin>>n;
 cout<<"Enter number of columns:\n ";
 cin>>m;
 Array=new int*[n]; /*выделение динамической памяти*/
 for(i=0; i<n; ++i)
 Array[i]=new int[m];
 cout<<"If you want to input array manually press 1, for auto input press 0: ";
 cin>>state;
 switch(state){
     case 1:
    for(i=0; i<n; ++i)  /*пользователь вводит элементы матрицы*/
        {
            for(j=0; j<m; ++j)
                {
                 cout<<"Please enter "<<i+1<<"x"<<j+1<<" element:\n";
                 cin>>Array[i][j];
                }
        }
        break;
    case 0:
    srand(time(NULL));
    for(i=0;i<n;++i)
    {
        for(j=0;j<m;++j)
        {
            Array[i][j]=rand() % 100;
        }
    }
    break;
    default:
    cout<<"Input Error\n";
    break;
 }
 cout<<"Here is your array:\n"; /*вывод введенной матрицы*/
    for(i=0; i<n; ++i)
        {
        for(j=0; j<m; ++j)
            cout<<Array[i][j]<<"  ";
                cout<<"\n";
                              }
                        for(j=0;j<m;++j) /*сортировка*/
                        {
                            for(i=0;i<n;++i)
                            {
                                for(k=0;k<n;++k)
                                {
                                    if(Array[i][j]<Array[k][j])
                                    {temp=Array[i][j];Array[i][j]=Array[k][j];Array[k][j]=temp;}
                                }
                            }
                        }
cout<<"Here is your sorted array:\n"; /*вывод отсортированного массива*/
                 for(i=0; i<n; ++i)
                     {
                    for(j=0; j<m; ++j)
                        {
                        cout<<Array[i][j]<<"  ";
                                          }
                        cout<<"\n";
                                             }
for(i=0;i<n;++i) /*освобождение памяти*/
free(Array[i]);
free(Array);
system("PAUSE");      /*чтобы консоль не закрывалась после выполнения*/
return 0;
}
1
01.12.2010, 00:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2010, 00:46

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

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

Отсортировать элементы матрицы по возрастанию для каждого столбца
Создать функцию, которая отсортировка элементы матрицы по возрастанию для...


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

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

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