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

Функции. Найти матрицу, получающуюся перестановкой столбцов - C++

Восстановить пароль Регистрация
 
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
20.02.2013, 18:45     Функции. Найти матрицу, получающуюся перестановкой столбцов #1
Дана целочисленная матрица размера m х 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
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 4
#define m 4
void main()
{
int a[n][m],b[n][m],i,j;
clrscr();   
printf("Vvedite massiw A\n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
printf("Massiw A\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
b[i][m-1-j]=a[i][j];
}
}
printf("Massiw B\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d",b[i][j]);
printf("\n");
}
getch();
}
нужно добавить сюда функции, что то наподобие такого:

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
#include <stdio.h>
 
const int m=3, n=5;
 
void inparr(int a[m][n])
{
int i,j;
for (i=0;i<m;i++)
 for (j=0;j<n;j++)
 scanf("%d",&a[i][j]);
}
 
void outarr (int a[m][n])
{
int i,j;
printf("Matrica:\n");
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
  printf("%5d", a[i][j]);
printf("\n");
}
}
 
int processarr(int a[m][n])
{
int i,j,s,max;
for(i=0;i<m;i++)
{
 s=0;
 for (j=0;j<n;j++)
   s+=a[i][j];
 if (i==0) max=s;
 else if (max<s) max=s;
}
return max;
}
 
void main()
{
int b[m][n];
inparr(b);
outarr(b);
printf("Maximalnaya summa stroki = %d", processarr(b));
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 18:45     Функции. Найти матрицу, получающуюся перестановкой столбцов
Посмотрите здесь:

Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т.д. C++
C++ Найти матрицу, получающуюся перестановкой столбцов
Найти матрицу, получающуюся перестановкой столбцов, используя указатель C++
Задана вещественная матрица размером m×n. Найти наибольший элемент. Перестановкой строк и столбцов, добиться того, чтобы данный элемент оказался в вер C++
C++ Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т. д
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
20.02.2013, 20:29     Функции. Найти матрицу, получающуюся перестановкой столбцов #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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define N 4
#define M 5
void vvod(int a[][M]) {
    int i = 0, j = 0;
    printf("Vvedite massiw A\n");
    for (i = 0; i < N; i++)
        for (j = 0; j < M; j++)
            a[i][j] = rand() % 50;
    //scanf("%d", &a[i][j]);
}
 
void vyvod(int a[][M]) {
    int i = 0, j = 0;
    printf("\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < M; j++)
            printf("%3d", a[i][j]);
        printf("\n");
    }
}
void swap(int *a, int *b) {
    int temp = *b;
    *b = *a;
    *a = temp;
}
void solve(int a[][M]) {
    int i = 0, j = 0;
    for (i = 0; i < N; i++) {
        for (j = 0; j < M / 2; j++) {
            swap(&a[i][j], &a[i][M - 1 - j]);
        }
    }
 
}
 
int main(void) {
    int a[N][M];
    printf("Massiw A\n");
    vvod(a);
    vyvod(a);
    solve(a);
    printf("Massiw B\n");
    vyvod(a);
    return 0;
}
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
22.02.2013, 09:13  [ТС]     Функции. Найти матрицу, получающуюся перестановкой столбцов #3
а можно комментарии?
VisualNIK
 Аватар для VisualNIK
8 / 8 / 1
Регистрация: 29.10.2012
Сообщений: 168
22.02.2013, 17:09     Функции. Найти матрицу, получающуюся перестановкой столбцов #4
Цитата Сообщение от student888 Посмотреть сообщение
а можно комментарии?
А что тут комментировать то...функции vvod, vyvod для ввода и вывода матриц...функция solve берет два столбца..как вам и нужно с конца и с начала попарно и отправляет их на перестановку в функцию swap...ну и потом с помощью vyvod снова выводится уже преобразованная матрица...
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
22.02.2013, 17:18  [ТС]     Функции. Найти матрицу, получающуюся перестановкой столбцов #5
да да точно)) немного затупил))
Yandex
Объявления
22.02.2013, 17:18     Функции. Найти матрицу, получающуюся перестановкой столбцов
Ответ Создать тему
Опции темы

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