Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 19

Вычислить произведение положительных элементов массива

27.04.2010, 08:31. Показов 1500. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны три задания.
В двумерном массиве, состоящем из m на n элементов вычислить:
1-Произведение положительных елементов массива
2-Сумма элементов массива,расположенных до максимального.
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
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
void main()
{
    FILE*flab;
    flab=fopen("lab4.txt","w");
    int const m=6,n=6;
    int a[m][n],i,j,p=1;
        for(i=0;i<m;i++)
        for(j=0;j<n;j++)
        {
    a[i][j]=rand()-1000;
    if(a[i][j]>0) p=p*a[i][j];
        }
    for(i=0;i<m;i++)
    {
    for(j=0;j<n;j++)
    printf("%5d",a[i][j]);
    printf("\n");
    }
    printf("\n *1* %d ",p);
}
Заранее благодарен

Добавлено через 8 минут
если нетрудно можно небольшие коментарии к действиям) з.ы Спасибо)

Добавлено через 8 часов 25 минут
Hellp!!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2010, 08:31
Ответы с готовыми решениями:

Вычислить произведение положительных элементов массива, сумму элементов массива, расположенных до минимального
С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции: 1) вычислить произведение положительных...

Вычислить произведение положительных элементов массива
Сформировать массив K из 23 элементов с помощью генератора случайных чисел. Вывести его на экран. Вычислить произведение положительных...

Вычислить произведение положительных элементов массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) произведение положительных элементов массива; 2) сумму...

5
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
27.04.2010, 10:07
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

a[i][j]=rand()-1000 Даст кучу непонятных чисел.
Нужно как-то ограничить, тем более, что для Int нельзя будет посчитать произведение больших чисел, поэтому например a[i][j]=rand()%10-4; числа от -4 до 6

И что такое четная и нечетная позиция в двумерном массиве?... Здесь я показал как сделать сортировку по строкам. Сортировка методом пузырька.

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
    
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
void main()
{
 
            int const m=6,n=6;
        int a[m][n],j;
        unsigned long p=1;
        int max = 0, mi, mj; //максимальный элемент
        int sum = 0;
        int tmp,k;
        for(i=0;i<m;i++)
        for(j=0;j<n;j++)
        {
           a[i][j]=rand()%10-4;//......
           if(a[i][j] > 0) p *= a[i][j];//произведение положительных элементов
           if(a[i][j] > max) {max = a[i][j]; mi = i; mj = j;}//ищем максимальный элемент
        }
 
        for(i=0;i<=mi;i++){
            for(j=0;j<n;j++)
            {
                 if(mi == i && mj == j) break;
                 sum+=a[i][j]; //считаем сумму до максимального элемента
            }
        }
 
        for(k = 0; k < m; k++)
        for(i = n - 2; i > 0; i--)//сортировка пузырьком по строкам массива
           for(j = 0; j < i; j+=2){
              if( a[k][j+1] > a[k][j+3] && j+3 < n)//сортировка нечетных
              {
                 tmp = a[k][j+1];
                 a[k][j+1] = a[k][j+3];
                 a[k][j+3] = tmp;
              }
              if( a[k][j] > a[k][j+2] )//сортировка четных
              {
                 tmp = a[k][j];
                 a[k][j] = a[k][j+2];
                 a[k][j+2] = tmp;
              }
           }
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                printf("%7d",a[i][j]);
            printf("\n");
        }
        printf("\n *1* %d \n *2*",p,sum);
}
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 19
27.04.2010, 16:43  [ТС]
А еcли например просто оставить rand() при задаче констант поставить не int а char к примеру. значения тогда будут до 32 ? и по поводу других заданий которые второе и третье. я вообще не могу разобраться. что в них да как..

Добавлено через 18 минут
Небольшой коллапс) невыдает почемуто сумму елементов расположеных до максимального. пробывал распечатывать отдельным циклом и всеравно нет. распологает все елементы пузырьком. Спасибо) запомню в следующий раз)
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
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
void main()
{
 
                int const m=6,n=6;
                int a[m][n],i,j;
                unsigned long p=1;
                int max = 0, mi, mj; //максимальный элемент
                int sum = 0;
                int tmp,k;
                for(i=0;i<m;i++)
                for(j=0;j<n;j++)
           
        {
                   a[i][j]=rand()%10-4;//......
                   if(a[i][j] > 0) p *= a[i][j];//произведение положительных элементов
                   if(a[i][j] > max) {max = a[i][j]; mi = i; mj = j;}//ищем максимальный элемент
                }
 
                for(i=0;i<=mi;i++){
                        for(j=0;j<n;j++)
                        {
                                 if(mi == i && mj == j) break;
                                 sum+=a[i][j]; //считаем сумму до максимального элемента
                        }
                }
 
                for(k = 0; k < m; k++)
                for(i = n - 2; i > 0; i--)//сортировка пузырьком по строкам массива
                   for(j = 0; j < i; j+=2){
                          if( a[k][j+1] > a[k][j+3] && j+3 < n)//сортировка нечетных
                          {
                                 tmp = a[k][j+1];
                                 a[k][j+1] = a[k][j+3];
                                 a[k][j+3] = tmp;
                          }
                          if( a[k][j] > a[k][j+2] )//сортировка четных
                          {
                                 tmp = a[k][j];
                                 a[k][j] = a[k][j+2];
                                 a[k][j+2] = tmp;
                          }
                   }
                for(i=0;i<m;i++)
                {
                        for(j=0;j<n;j++)
                                printf("%7d",a[i][j]);
                        printf("\n");
                }
                printf("\n *1* %d \n ",p,sum);
}
0
 Аватар для enari
18 / 18 / 6
Регистрация: 26.04.2010
Сообщений: 35
27.04.2010, 17:40
Сумму он тебе правильно выдает... просто он ее считает до сортировки.
Вопрос про четные и не четные места в матрице может имелось ввиду, что i=1 , j = 1 (первая позиция в матрице) то это не четная позиция i =1 , j =2 то четная так как 2 позиция в матрице ?
Не ?
0
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 19
27.04.2010, 22:05  [ТС]
д нет) просто при выводе на экран отображаеться только в ответе произведение всех положительных элементов а сумму в ответе не выводит
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
28.04.2010, 09:20
C
1
printf("\n *1* %d \n *2* %d \n",p,sum);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2010, 09:20
Помогаю со студенческими работами здесь

Вычислить произведение положительных элементов массива
Люди помагите сделать задачю: Вычеслить произведение положительных элементов массива.

Вычислить произведение положительных элементов в колонках массива
Помогите, пожалуйста! Не считает произведение. Что исправить? Само задание: Посчитать произведение положительных элементов в тех колонках...

Вычислить произведение положительных элементов сгенерированного массива
Сформировать массив K из 23 элементов через генератор случайных чисел. Вывести его на экран. Вычислить произведение положительных...

Вычислить произведение отрицательных, и сумму положительных элементов массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) произведение отрицательных элементов массива; 2) сумму...

Вычислить произведение положительных элементов в первой и во второй половине массива
Заполнить одномерный массив целыми числами. Вычислить произведение положительных элементов в первой и во второй половине массива.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru