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

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

Войти
Регистрация
Восстановить пароль
 
лизи
 Аватар для лизи
0 / 0 / 0
Регистрация: 14.11.2011
Сообщений: 104
#1

наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов - C++

18.03.2012, 16:29. Просмотров 811. Ответов 4
Метки нет (Все метки)

Нужна помощь с двумерными массивами в Си
Надо найти в целочисленной квадратной матрице размером nxn, где 5≤n≤25 наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов.
и причем программа должа быть разбита на несколько функций
Функцию формирования исходного массива,Функцию вывода исходного массива и одну или более функций, реализующих вычислительную часть алгоритма.
Все функции должны содержать список параметров, причем массив (матрица) должен передаваться как параметр функции.А основная программа должна содержать только операторы вызова подпрограмм.
как будет выглядить код?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2012, 16:29     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов
Посмотрите здесь:

Определить номер строки с наименьшей суммой модулей элементов C++
Поменять местами строку матрицы с наименьшей суммой элементов со строкой с наибольшей суммой элементов C++
Найти строку матрицы с наибольшей и наименьшей суммой элементов C++
C++ Строка матрицы с наименьшей суммой элементов.
Найти тройку последовательных элементов массива F с наименьшей суммой C++
Обработка двумерного массива,наибольшее из значений элементов столбца C++
Поиск наименьшего из значений элементов столбца, который обладает наибольшей суммой модулей элементов C++
Функция должна вычислять разницы между суммой положительных элементов массива и суммой модулей отрицательных элементов массива C++
C++ Действие с матрицей (Найти наименьшее из значений элементов столбца, который имеет наибольшую сумму модулей элементов)
В квадратной матрице порядка 8 найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов C++
Найти строки матрицы с наибольшей и наименьшей суммой элементов C++
C++ Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kreolix
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 15
18.03.2012, 17:06     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов #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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <time.h>
using namespace std;
 
int n;
 
void print(int **A)
{
        for (int i=0; i<n; i++)
        {
                for (int j=0; j<n; j++)
                        cout<<A[i][j]<<"\t";
                cout<<endl;
        }
        cout<<endl;
}
 
void matrix(int **A)
{
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            cout<<"Введите элемент a["<<i+1<<"]["<<j+1<<"]"<<endl;
            cin>>A[i][j];
        }
}
 
void find(int **A)
{
    int sum, 
        min = 0, 
        min_j = 0;
    for (int j=0; j<n; j++)
    {
        sum = 0;
        for(int i=0; i<n; i++)
        {
            sum += abs(A[i][j]);
        }
        if (sum < min)
        {
            min = sum;
            min_j = j;
        }
    }
    int max = A[0][min_j],
        max_i = 0;
 
    for (int i=1; i<n; i++)
        if (A[i][min_j] > max)
        {
            max = A[i][min_j];
            max_i = i;
        }
    cout<<"Нужный нам элемент: a["<<++max_i<<"]["<<++min_j<<"]"<<endl;
}
 
int main()
{
    setlocale(LC_ALL, "");
    cout<<"Введите размерность матрицы"<<endl;
    cin>>n;
    if (n<5 || n>25)
        cout<<"Размерность n должна быть 5<=n<=25"<<endl;
    else
    {
        int **A=0;
        A=new int *[n];
        for(int i=0;i<n;i++)
        {
                A[i]=new int[n];
        }
        matrix(A);
        print(A);
        find(A);
    }
}
лизи
 Аватар для лизи
0 / 0 / 0
Регистрация: 14.11.2011
Сообщений: 104
18.03.2012, 17:25  [ТС]     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов #3
Цитата Сообщение от Kreolix Посмотреть сообщение
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
#include <iostream>
#include <time.h>
using namespace std;
 
int n;
 
void print(int **A)
{
        for (int i=0; i<n; i++)
        {
                for (int j=0; j<n; j++)
                        cout<<A[i][j]<<"\t";
                cout<<endl;
        }
        cout<<endl;
}
 
void matrix(int **A)
{
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            cout<<"Введите элемент a["<<i+1<<"]["<<j+1<<"]"<<endl;
            cin>>A[i][j];
        }
}
 
void find(int **A)
{
    int sum, 
        min = 0, 
        min_j = 0;
    for (int j=0; j<n; j++)
    {
        sum = 0;
        for(int i=0; i<n; i++)
        {
            sum += abs(A[i][j]);
        }
        if (sum < min)
        {
            min = sum;
            min_j = j;
        }
    }
    int max = A[0][min_j],
        max_i = 0;
 
    for (int i=1; i<n; i++)
        if (A[i][min_j] > max)
        {
            max = A[i][min_j];
            max_i = i;
        }
    cout<<"Нужный нам элемент: a["<<++max_i<<"]["<<++min_j<<"]"<<endl;
}
 
int main()
{
    setlocale(LC_ALL, "");
    cout<<"Введите размерность матрицы"<<endl;
    cin>>n;
    if (n<5 || n>25)
        cout<<"Размерность n должна быть 5<=n<=25"<<endl;
    else
    {
        int **A=0;
        A=new int *[n];
        for(int i=0;i<n;i++)
        {
                A[i]=new int[n];
        }
        matrix(A);
        print(A);
        find(A);
    }
}
вообще многое не понятно=((
что не си а си++?
Kreolix
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 15
18.03.2012, 19:55     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов #4
лизи,
C++
1
2
3
#include <iostream>
#include <time.h>
using namespace std;
замени на
C++
1
#include <stdio.h>
А это
C++
1
2
3
4
5
6
                int **A=0;
                A=new int *[n];
                for(int i=0;i<n;i++)
                {
                                A[i]=new int[n];
                }
замени на
C++
1
2
3
4
int **A;
A = (int**)calloc(n,sizeof(int*));
for (int i=n; i<3; i++)
        A[i] = (int*)calloc(n,sizeof(int));
cin - ввод, cout - вывод, меняй на scanf, printf
лизи
 Аватар для лизи
0 / 0 / 0
Регистрация: 14.11.2011
Сообщений: 104
23.03.2012, 20:15  [ТС]     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов #5
спасибо))
Yandex
Объявления
23.03.2012, 20:15     наибольшее из значений элементов столбца, который обладает наименьшей суммой модулей элементов
Ответ Создать тему
Опции темы

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