С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 22.03.2018
Сообщений: 7
1

Найти наибольшее из значений в заштрихованной области, работа с многомерными массивами

22.03.2018, 20:03. Показов 545. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите сделать, в программировании очень плох, вот все что есть:
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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <malloc.h>
double max(double **a, int n)
{
    int maximum = a[0][0];
    int indi = 0;
    int indj = 0;
    for (int i = 0; i < n; i++)
        for (int j = i; j < n; j++) 
            if (a[i][j] > maximum) 
            {
                maximum = a[i][j];
                indi = i;
                indj = j;
            }
        
    a[indi][indj] = 0;
    return maximum;
}
int main()
{
    double**a; int n;
    printf("n=");
    scanf("%d", &n);
    a = (double**)malloc(n * sizeof(double*));
    for (int i = 0; i < n; i++)
    {
        a[i] =(double*)malloc(n * sizeof(double));
        for (int j = 0; j < n; j++)
        {
            printf("a[%d][%d]=", i, j);
            scanf("%lf", &a[i][j]);
        }
    }
    double maxx = max(a, n);
    printf("max=%lf\n", maxx);
    for (int i = 0; i < (n/2); i++) 
    {
        for( int j=0;j<=i;j++)
        {
            printf("%lf", a[i][j]);
        }
        for(int j=n-i-1;j<n;j++)
        {
            printf("%lf", a[i][j]);
        }
    }
    for (int i = n/2; i<n;i++)
    {
        for(int j=0;j<=n-i-1;j++)
        {
            printf("%lf",a[i][j]);
        }
        for(int j=i;j<n;j++)
        {
            printf("%lf",a[i][j]);
        }
    }   
        
    
    getchar(); getchar();
    return 0;
}
Миниатюры
Найти наибольшее из значений в заштрихованной области, работа с многомерными массивами  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2018, 20:03
Ответы с готовыми решениями:

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

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

Найти наибольшее из значений элементов, расположенных в заштрихованной части матрицы
Составить программу, формирующую квадратную матрицу порядка n. Найти наибольшее из значений...

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

2
1 / 1 / 0
Регистрация: 22.03.2018
Сообщений: 7
28.03.2018, 14:10  [ТС] 2
Народ, кто-нибуудь
0
Заблокирован
28.03.2018, 15:02 3
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
double getmax(double**a,int n)
{
    int i,k,dk;
    double m=**a;
    for (i = 0; i < n; i++)
    {
        dk=i>n/2?-1:1;
        for(k=i; k!=n-i; k+=dk)
        {
            if(m<a[k][i]) m=a[k][i];
            if(m<a[n-k-1][i]) m=a[n-k-1][i];
        }
    }
    return m;
}
 
int main()
{
    double**a; 
    int i,j,n;
    printf("n=");
    scanf("%d", &n);
    a = (double**)malloc(n * sizeof(double*));
    srand((unsigned)time(0));
    for (i = 0; i < n; i++)
    {
        a[i] =(double*)malloc(n * sizeof(double));
        for (j = 0; j < n; j++)
        {
            //printf("a[%d][%d]=", i, j);
            //scanf("%lf", &a[i][j]);
            a[i][j]=rand()%199-99;
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%4.0lf",a[i][j]);
        printf("\n");
    }
    printf("\nMax=%4.0lf\n",getmax(a,n));
    system("pause");
    for (i = 0; i < n; i++)
        free(a[i]);
    free(a);
Добавлено через 21 минуту
стр 8-12:
C
1
2
3
4
5
6
        for(k=i; ; k+=dk)
        {
            if(m<a[k][i]) m=a[k][i];
            if(m<a[n-k-1][i]) m=a[n-k-1][i];
            if(i+k==n-1) break;
        }
0
28.03.2018, 15:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2018, 15:02
Помогаю со студенческими работами здесь

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

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

Лежит ли точка внутри заштрихованной области, вне заштрихованной области, или на ее границе?
Добрый вечер, как новичку мне требуется помощь, пытался решить задачку сам , получилось не особо,...

Найти наибольшее из значений в заштрихованной области матрицы
Дана действительная квадратная матрица порядка 3N. Найти наибольшее из значений в заштрихованной...


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

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