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

В матрице размерности 8 на 9 определить произведение элементов в каждом втором столбце

21.06.2017, 06:26. Показов 1261. Ответов 4
Метки нет (Все метки)

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//--
В матрице размерности 8 на 9 определить произведение элементов в каждом втором столбце.Найти
    минимум среди сумм элементов диагоналей,
    параллельных главной диагонали матрицы.В
        последнем столбце матрицы заменить положительные элементы единицами,
    а отрицательные – нулями.
//---
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define N_MIN -3
#define N_MAX 5
    int
    main()
{
    SetConsoleOutputCP(1251);
    int s, i, j, k, l, s1, t2, t1;
    int a[8][9];
    srand(time(NULL));
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 9; j++)
        {
            a[i][j] = rand() % (N_MAX - N_MIN + 1) + N_MIN;
        }
    }
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 9; j++)
        {
            printf("%3d ", a[i][j]);
        }
        printf("\n");
    }
    k = 0;
    s = 0;
    l = 0;
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 9; j++)
        {
            if (a[i][j] >= 0)
            {
                if (a[i][j] % 2 == 0)
                    l += a[i][j];
                k++;
            }
        }
        if (k == 5)
        {
            l = l;
        }
        else
        {
            l = 0;
        }
        s = s + l;
        k = 0;
    }
    s1 = a[0][8 - 1];
    for (i = 1; i < 8; i++)
    {
        t1 = t2 = 0;
        for (j = 0; j < 9 - i; j++)
        {
            t1 += a[i + j][j];
            t2 += a[j][i + j];
        }
        if (t1 < s1)
            s1 = t1;
        if (t2 < s1)
            s1 = t2;
    }
    printf(
        "ìèíèìóì ñðåäè ñóìì ýëåìåíòîâ äèàãîíàëåé, ïàðàëëåëüíûõ ãëàâíîé äèàãîíàëè ìàòðèöû %d %d\n",
        s, s1);
    getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2017, 06:26
Ответы с готовыми решениями:

Как найти наибольший элемент во втором столбце, и определить среднее арифметическое для всех элементов?
Всем привет Есть программа по рандомному заполнению массива #include &lt;stdio.h&gt; #include...

В произвольной матрице поменять местами в каждом столбце минимальный и максимальный элементы
Ребят помогите пожалуйста.

В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице
В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество...

Определить произведение элементов, расположенных на чётных местах в каждом столбце матрицы
Здравствуйте! Большая просьба по составлению программы двумерных массивов, необходимо: 1) Создать...

4
Айлурофил
441 / 375 / 107
Регистрация: 27.05.2017
Сообщений: 2,157
Записей в блоге: 1
21.06.2017, 13:14 2
Лучший ответ Сообщение было отмечено denis2281321231 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for(j=0;j<9;j++)
   {
   if ((j%2)!=0){k=1;for(i=0;i<8;i++)k*=a[i][j];printf("Column %d, Product=%d\n",j,k);}
   }
 
mins=0;
for(i=-7;i<9;i++)
   {
   s=0;
   for(j=0;j<8;j++)
      {
      if((j<0)||(j>7)||((j+i)<0)||((j+i)>8))continue;
      s+=a[j][j+i];
      }
   if((s<mins)||(i==-7))mins=s; 
   }
printf("Min diag sum=%d\n",mins);
 
for(i=0;i<8;i++)
   {
   if(a[i][8]>0)a[i][8]=1;
   if(a[i][8]<0)a[i][8]=0;
   }
1
0 / 0 / 1
Регистрация: 11.04.2017
Сообщений: 9
22.06.2017, 02:06  [ТС] 3
Так это у нас что за цикл. за что он отвечает? весь этот кусок?
0
Айлурофил
441 / 375 / 107
Регистрация: 27.05.2017
Сообщений: 2,157
Записей в блоге: 1
22.06.2017, 02:11 4
Лучший ответ Сообщение было отмечено denis2281321231 как решение

Решение

Цитата Сообщение от denis2281321231 Посмотреть сообщение
Так это у нас что за цикл. за что он отвечает? весь этот кусок?
Что и просили.
1-4 строки считают произведение элементов в каждой второй строке и печатают: номер колонки, произведение.
6-17 строки ищут минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы и печатают минимальную сумму.
19-23 строки в последнем столбце матрицы заменяют положительные элементы единицами, а отрицательные – нулями.
1
0 / 0 / 1
Регистрация: 11.04.2017
Сообщений: 9
22.06.2017, 02:21  [ТС] 5
А вывод на экран матрицы?
. она не выводиться
0
22.06.2017, 02:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2017, 02:21
Помогаю со студенческими работами здесь

Определить и напечатать колличество отрицательных элементов во всей матрице AW и их колличество в каждом столбце.
Определить и напечатать колличество отрицательных элементов во всей матрице AW и их колличество в...

В матрице определить максимальный элемент в каждом столбце
помогите срочно решить,пожалуйста. В матрице размерами N*M определить максимальный элемент в...

В матрице найти суму элементов в каждом столбце
В матрице найти суму элементов в каждом столбце. Результат записать в одноименный массив. ...

В матрице в каждом столбце найдите сумму элементов, лежащих в интервале
В матрице у(4,5) в каждом столбце найдите сумму элементов, лежащих в интервале -1&lt;=у ij &lt;=1....


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

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