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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Map iterator обращение к предыдущему или последующему элементу http://www.cyberforum.ru/cpp-beginners/thread1056047.html
for(map<string,int>::iterator i = m.begin();i!=m.end();i++) if( (i+1) == m.end() ) cout << "End"; Как сделать что-то подобное?
C++ поправьте код компилятор выдает ошибки #include <iostream> using namespace std; bool Hit(float x, float y, float r) { if((pow(x-r,2)+pow(y-r,2)<r*r||pow(x+r,2)+pow(y+r,2)<r*r)&&fabs(x)<r&&fabs(y)<r) {return true;} else {return false;} } http://www.cyberforum.ru/cpp-beginners/thread1056034.html
C++ отсортировать студентов по возрасту
Есть файл в котором содержится карточка студента. Нужно отсортировать студентов по возрасту, так ты вводишь число если возраст студентов больше это го числа то они выводиться. Помогите пожалуйста не получается отсортировать. #include<stdio.h> #include <iostream> #include<stdlib.h> #include<conio.h> #include<string.h> #include<process.h> struct person {
Помогите найти ошибку. Удалить и добавить в массив К элементов, начиная с заданного номера. C++
нужно Сформировать одномерный массив. Удалить из него К элементов, начиная с заданного номера, добавить К элементов, начиная с заданного номера #include<conio.h> #include<stdio.h> #include<stdlib.h> void enter(int* p, int n) { p=1; for (size_t i=1; i<n; i++)
C++ Простые числа С++ (Visual Studio 2010) http://www.cyberforum.ru/cpp-beginners/thread1055957.html
Нужна срочная помощь в написании кода для С++. Вот условие: Пользователь вводит 2 числа - p, g Определить , является ли g (mod p) простым числом
C++ Перебрать все монотонно невозрастающие функции f: [m]  [n] Перебрать все монотонно невозрастающие функции f: -> . если можете прокоментите или обьясните код пожалуйсто подробнее

Показать сообщение отдельно
Fish24
 Аватар для Fish24
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 46
23.12.2013, 22:02  [ТС]     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Задание: минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Вот правильный код:

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
#include "stdafx.h"
#include <iostream>
 
const int k = 3;
void sum(int mas[k][k]);
void max(int matrix[k][k]);
 
 
int main(){
    int arr[k][k];
    int i, j;
 
    for (i = 0; i < k; i++){
        for (j = 0; j < k; j++){
            printf("arr[%d][%d] = ", i + 1, j + 1);
            scanf("%d", &arr[i][j]);
        }
    }
 
    printf("\n-----------------------\n");
    for (i = 0; i < k; i++)
    for (j = 0; j < k; j++)
        printf((j < (k - 1)) ? "%d\t" : "%d\n", arr[i][j]);
 
    printf("\n Summa elementov v teh strokah,kotorye ne soderjat otricatelnyh elementov:");
    sum(arr);
    printf("\n \n Minimum sredi summ elementov diagonalej,parallelnyh pobochnoy diagonali matricy: ");
    max(arr);
    fflush(stdin);
    char c = getchar();
    return 0;
}
 
void sum(int mas[k][k])
{
    int i, j, a, sum, n;
    for (i = 0; i<k; i++)
    {
        a = 0;
        for (j = 0; j<k; j++)
        if (mas[i][j]<0) a++;
        if (a == 0)
        {
            sum = 0;
            for (n = 0; n<k; n++)
                sum += mas[i][n];
            printf("\n stroka %d: %d", (i + 1), sum);
        }
    }
}
int sumDiagonal(int matrix[k][k], int currentDiagonal)
{
    int sum = 0;
    if (currentDiagonal < k)
    for (int i = -1; i != currentDiagonal; ++i)
        sum += matrix[currentDiagonal - i - 1][i + 1];
    else
    for (int i = currentDiagonal - k + 1, j = k; i < k; ++i)
        sum += matrix[--j][i];
    return sum;
}
void max(int matrix[k][k])
{
    int min = sumDiagonal(matrix, 0);
    for (int i = 1, cnt; i < k + k - 1; ++i)
    {
        cnt = sumDiagonal(matrix, i);
        if (cnt < min)
            min = cnt;
    }
    printf("%d\n", min);
}
Пытаюсь разобраться в этом коде. Что нужно вводить в консольном окне?
 
Текущее время: 18:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru