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

Замена элементов в столбцах - C++

Восстановить пароль Регистрация
 
RaDs
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 11
05.05.2010, 22:29     Замена элементов в столбцах #1
Здравствуйте. Нуждаюсь в вашей помощи. Есть задача:

В матрице А(n-строк, m-столбцов). Необходимо поменять местами наибольшие элементы в первом и k-ом столбцах (2<=k<=m). Для поиска номера наибольшего элемента в заданном столбце использовать подпрограмму.

Заранее благодарен.

Так же ищу человека, который сможет решить еще пару более сложных задач, но уже за умеренное вознаграждение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 22:29     Замена элементов в столбцах
Посмотрите здесь:

Сумма элементов в столбцах без отрицательных элементов C++
# Дана целочисленная квадратная матрица. Определить: # сумму элементов в тех столбцах, которые не содержат отрицательных элементов # минимум среди су C++
C++ Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
C++ Сумма элементов в тех столбцах, которые не содержат отрицательных элементов.
Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов C++
Определить: 1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов C++
C++ Целочисленная матрица. Определить сумму элементов в тех столбцах, которые не содержат положительных элементов
Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Harlequin
 Аватар для Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
06.05.2010, 12:05     Замена элементов в столбцах #2
пиши в асю 330337866
всё обсудим
RaDs
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 11
13.05.2010, 22:11  [ТС]     Замена элементов в столбцах #3
Вроде бы разобрался и сам.(целая неделя понадобилась )
Только с 1-м не могу разобраться, как поменять местами наибольшие элементы матрицы из данных столбцов?1 и К-го местами?!Подскажите, пжл!
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <cstdio>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <windows.h>
#include "ConvOem.h"
 
using namespace std;
 
double f(double const *cx,int m, int rs)
        // m-строки, rs-кол-во столбцов;
{
int max, re=1;
    for(int l=1; l<=m; l++)
    {
        max=cx[l*0+0];
        if(max < cx[l*rs+re])
        {
            max=cx[l*rs+re];
        }
    }
return max;
}
 
double f2(double const *ck,const int s,const int zam,const int st)
// s - строки, zam- выбранный столбец, st-кол-во столбцов;
{
int maxk;
    for (int t=1; t<=s; t++)
    {
maxk=0;
            if(maxk < ck[t*st+zam])
        {
            maxk=ck[t*st+zam];
        }
    } 
return maxk;
}
 
int main()
{
    CConvOem szBuff(100);
    if (szBuff.isInvalid()) return -1;
 
    int i,g,kst,ks,k;
    int max1,maxki;
    const int nmax(20);
    double arrA[nmax*nmax];
 
printf(szBuff.toOemA("\nВведите размер матрицы А:"));
 
printf(szBuff.toOemA("\nКол-во строк: "));
scanf("%d",&kst);
                
printf(szBuff.toOemA("\nКол-во столбцов: "));
scanf("%d",&ks);
 
printf(szBuff.toOemA("\nВведите матрицу А: "));
    for (i=1;i<=kst;++i)
    {
        for (g=1;g<=ks;++g)
        {
        printf("\nA[%d][%d]: \n",i,g);
        scanf("%lf",&arrA[i*ks+g]);
        }
    }
printf(szBuff.toOemA("\nВведенная матрица А:\n\n "));
    for (i=1;i<=kst;++i)
    {
        for (g=1;g<=ks;++g)
            printf("%8.0f",arrA[i*ks+g]);
            printf("\n");
        
    }
printf(szBuff.toOemA("\nВведите номер столбца К (от 2 до %d):"),ks);
scanf("%d",&k);
    if ((k>1)&&(k<=ks))
            // проверям принадлежность К к столбцам.    
    {
    printf(szBuff.toOemA("\n Максимальный элемент 1-го столбца:  %2.0f "),f(arrA,kst,ks));
    printf(szBuff.toOemA("\n Максимальный элемент %d-го столбца:  %2.0f \n"),k,f2(arrA,kst,k,ks));
    }
    else
    { 
    printf(szBuff.toOemA("\nСтолбец К = %d не удовлетворяет условию. \nЗапустите программу заново \n"),k);
    }
// Здесь должен быть код замены элементов и вывод измененной матрицы.
            
}

Как это реализовать?
Yandex
Объявления
13.05.2010, 22:11     Замена элементов в столбцах
Ответ Создать тему
Опции темы

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