7 / 7 / 0
Регистрация: 25.09.2010
Сообщений: 31
1

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы

29.09.2010, 10:18. Показов 5120. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана целочисленная квадратная матрица. Определить:
1.) сумму элементов в тех столбцах, которые не содержат отрицательных
элементов;
2.) минимум среди сумм модулей элементов диагоналей, параллельных
побочной диагонали матрицы.

P.S. через printf scanf, и чтоб чтоб количество строк и столбцов вводилось с клавиатуры, а заполнялся рандомно
помогите плиз
 Комментарий модератора 
Дублирование тем запрещено правилами форума (п. 3.4).
Не плодите одинаковых тем!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2010, 10:18
Ответы с готовыми решениями:

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Дана целочисленная квадратная матрица. Определить: 2) минимум среди сумм модулей элементов...

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Доброго времени суток. Помогите создать процедуру, которая найдет минимум среди сумм модулей...

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Помогите скорректировать код, чтобы найти минимум среди сумм модулей элементов диагоналей,...

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Помогите написать код! Задача: Дана целочисленная квадратная матрица. Определить минимум среди...

10
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
29.09.2010, 11:35 2
Вот тебе пункт 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
#include <conio.h>
#include <stdio.h>
 
int main()
{
    bool is_negative = false;
    int n;
    //********** заполняем массив 5х5 с клавиатуры
    int Matrix[5][5];
    for(int i = 0;i < 5;++i){
        for(int j = 0;j < 5;++j){
            scanf("%d", &n);
            Matrix[i][j] = n;
        }
}
    //********** проверяем каждый столбец на наличие отрицательных чисел
int sum = 0;
int i,j;
for( j = 0;j < 5;j++){
    is_negative = false;
    for( i = 0;i < 5;i++){
        if( Matrix[i][j] < 0 ) is_negative = true;
        }
    if(!is_negative){  // ******** если таковых нет - складываем
        i = 0;
        while(i < 5){
            sum += Matrix[i][j]
            ;
            i++;
        }
    }
}   
printf("%d",sum);
 
    _getch();
}
1
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
29.09.2010, 11:38 3
Цитата Сообщение от Rikimaru Посмотреть сообщение
и чтоб чтоб количество строк и столбцов вводилось с клавиатуры
а в заголовке темы написано статические массивы. как-то определитесь уж. конечно можно сделать статический массив, но это наложит ограничения на максимальный размер матрицы
1
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
29.09.2010, 11:38 4
упсс ... насчет заполнения массива я невнимательно задание прочитал
0
7 / 7 / 0
Регистрация: 25.09.2010
Сообщений: 31
29.09.2010, 11:47  [ТС] 5
Цитата Сообщение от fasked Посмотреть сообщение
а в заголовке темы написано статические массивы. как-то определитесь уж. конечно можно сделать статический массив, но это наложит ограничения на максимальный размер матрицы
ну нам сказали сделать статический массив..
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
29.09.2010, 12:17 6
а сумму считать общую или отдельно для каждого столбца? и про минимум, один минимум или для каждой диагонали?
0
7 / 7 / 0
Регистрация: 25.09.2010
Сообщений: 31
29.09.2010, 13:11  [ТС] 7
сумму общую.. но 1) я уже сделал
а минимум среди сумм диагоналей (он 1 должен быть)

Добавлено через 42 минуты
тоесть сумм будет несколько (диагональ из 1 елемнта тоже нужно считать, которые в левом верхнем и правом нижнем угле) а надо чтоб выводило только 1 число (минимум среди всех этих сумм)
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
29.09.2010, 14:25 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
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 <stdlib.h>
#include <math.h>
 
#define ROWS 4
#define COLS 4
 
int main()
{
    int matrix[ROWS][COLS];
    int i = 0;
    int j = 0;
    int k = 0;
    
    int min = 0;
    int sum = 0;
    
    for(i = 0; i < ROWS; ++i)
        for(j = 0; j < COLS; ++j)
            matrix[i][j] = rand() % 9;
        
    for(i = 0; i < ROWS; ++i) {
        for(j = 0; j < COLS; ++j)
            printf("%d ", matrix[i][j]);
        
        printf("\n");
    }
    
    for(k = 0; k < ROWS - 1 && k < COLS - 1; ++k) {
        sum = 0;
        
        for(i = 0, j = 0; i < ROWS && j < COLS - 1 - k; ++i, ++j) {
            sum += abs(matrix[i][COLS - 2 - j - k]);
        }
        
        if(sum < min || min == 0)
            min = sum;
    }
    
    for(k = 0; k < ROWS - 1 && k < COLS - 1; ++k) {
        sum = 0;
        
        for(i = ROWS - 1, j = COLS - k - 1; i >= 0 && j < ROWS; --i, ++j) {
            sum += abs(matrix[i][j]);
        }
        
        if(sum < min || min == 0)
            min = sum;
    }
    
    printf("min: %d\n", min);
    return 0;
}
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
29.09.2010, 14:43 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
#include <iostream.h>
 
int main()
{
    const int size=4;
    int n,i,j;
    int sum,k=0,min=0;
    int Matrix[size][size];
 
    srand(time(NULL));
    for(i = 0;i < size;++i)
    {
        for(int j = 0;j < size;++j)
        {
            Matrix[i][j] = rand()%9+1;
            cout<<Matrix[i][j]<<' ';
        }
        cout<<endl;
    }
    cout<<endl;
 
    for (i=size; i>0; i--)
    {
        sum = 0;
        for (j=0; j<size-i+1; j++)
            sum += Matrix[size-i-j][j];
        k++;
        cout<<"sum "<<k<<" = "<<sum<<endl;
 
        if(sum < min || min == 0)
            min=sum;
    }
 
    for (i=1; i<size; i++)
    {
        sum = 0;
        for (j=size-1; j>=i; j--)
            sum += Matrix[size-1+i-j][j];
        k++;
        cout<<"sum "<<k<<" = "<<sum<<endl;
 
        if(sum < min || min == 0)
            min=sum;
    }
 
    cout<<"\nMinimum = "<<min<<endl;
    system("pause");
    return 0;
}
С циклами наверняка перемудрил) Но вроде работает
0
7 / 7 / 0
Регистрация: 25.09.2010
Сообщений: 31
29.09.2010, 16:32  [ТС] 10
спасиб
0
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 5
14.11.2010, 21:57 11
Цитата Сообщение от TheMachinist Посмотреть сообщение
Вот тебе пункт 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
#include <conio.h>
#include <stdio.h>
 
int main()
{
    bool is_negative = false;
    int n;
    //********** заполняем массив 5х5 с клавиатуры
    int Matrix[5][5];
    for(int i = 0;i < 5;++i){
        for(int j = 0;j < 5;++j){
            scanf("%d", &n);
            Matrix[i][j] = n;
        }
}
    //********** проверяем каждый столбец на наличие отрицательных чисел
int sum = 0;
int i,j;
for( j = 0;j < 5;j++){
    is_negative = false;
    for( i = 0;i < 5;i++){
        if( Matrix[i][j] < 0 ) is_negative = true;
        }
    if(!is_negative){  // ******** если таковых нет - складываем
        i = 0;
        while(i < 5){
            sum += Matrix[i][j]
            ;
            i++;
        }
    }
}   
printf("%d",sum);
 
    _getch();
}

я извиняюсь но ты можешь решить
эту же задачу более простым языком в Delphi
Дана целочисленная квадратная матрица. Определить:
1.) сумму элементов в тех столбцах, которые не содержат отрицательных
элементов;
2.) минимум среди сумм модулей элементов диагоналей, параллельных
побочной диагонали матрицы.

Общие указания

1. Текст программ должен включать коментарии с описанием: Фамилии, имени, группы, условия задачи. Описания входных и выходных параметров.

2. Ввод элементов массива выполнить из файла (in3.dat).

3. Вывод результатов выполнить в файл (out3.dat) и на экран.

через консоль...
если можешь помоги плиз
0
14.11.2010, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 21:57
Помогаю со студенческими работами здесь

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Помогите доделать задачу до конца, пожалуйста :-) Дана целочисленная квадратная матрица....

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Код программы,который должен вычислять минимум среди сумм модулей элементов диагоналей,...

Найти минимум среди сумм модулей элементов диагоналей матрицы, параллельных побочной диагонали матрицы
Дана целочисленная квадратная матрица. Определить: 2) Минимум среди сумм модулей элементов...

Для заданной матрицы найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали.
Помогите разобрать в С++ нешарю: Для заданной матрицы найти минимум среди сумм модулей элементов...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru