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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
#1

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

20.02.2013, 18:45. Просмотров 369. Ответов 4
Метки нет (Все метки)

Дана целочисленная матрица размера 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));
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции. Найти матрицу, получающуюся перестановкой столбцов (C++):

Найти матрицу, получающуюся перестановкой столбцов - C++
Задание: Дана целочисленная матрица размера m х n. Найти матрицу, получающуюся перестановкой столбцов (первого с последним, второго с...

Найти матрицу, получающуюся перестановкой столбцов, используя указатель - C++
Дана целочисленная матрица размера m х n. Найти матрицу, получающуюся перестановкой столбцов (первого с последним, второго с предпоследним...

Найти матрицу, получающуюся из заданной перестановкой строк - C++
Дана целочисленная квадратная матрица порядка 6. Найти матрицу, получающуюся из данной перестановкой строк – первой с последней, второй – с...

Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т.д. - C++
Помогите написать программу на Си Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк -...

Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т. д - C++
Помогите с кодом кто-нибудь :cry: Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк -...

Задана вещественная матрица размером m×n. Найти наибольший элемент. Перестановкой строк и столбцов, добиться того, чтобы данный элемент оказался в вер - C++
Задана вещественная матрица размером m×n. Найти наибольший элемент. Перестановкой строк и столбцов, добиться того, чтобы данный элемент...

4
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
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;
}
0
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
22.02.2013, 09:13  [ТС] #3
а можно комментарии?
0
VisualNIK
8 / 8 / 1
Регистрация: 29.10.2012
Сообщений: 168
22.02.2013, 17:09 #4
Цитата Сообщение от student888 Посмотреть сообщение
а можно комментарии?
А что тут комментировать то...функции vvod, vyvod для ввода и вывода матриц...функция solve берет два столбца..как вам и нужно с конца и с начала попарно и отправляет их на перестановку в функцию swap...ну и потом с помощью vyvod снова выводится уже преобразованная матрица...
0
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
22.02.2013, 17:18  [ТС] #5
да да точно)) немного затупил))
0
22.02.2013, 17:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 17:18
Привет! Вот еще темы с ответами:

Задача с перестановкой столбцов в матрице - C++
Ребят,всем привет,помогите пожалуйста с задачей. . Дана целочисленная квадратная матрица порядка n. Переставить столбцы таким образом,...

Перестановкой строк и столбцов минимальный элемент переместить в [1][1] - C++
Создана матрица 3x3 из произведения двух матриц.Методом перестановки строк и столбцов в конечной матрице 3x3 добейтесь, чтобы минимальный...

Упорядочить элементы главной диагонали перестановкой столбцов - C++
Упорядочить элементы главной диагонали квадратичной матрицы(n x n) перестановкой столбцов n=5. Элементы матрицы случайные действительные...

Перестановкой строк и столбцов получить все возможные варианты матрицы - C++
Задача в следующем. Имеется матрица произвольного n на m. Необходимо перестановкой строк и столбцов получить все возможные варианты этой...


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

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

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