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

Найти произведение ряда - C++

Восстановить пароль Регистрация
 
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
25.01.2012, 20:18     Найти произведение ряда #1
Люди помогите пожалуйста с двумя задачками:
1. В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов.
2. 2. Вычислить значение min (x(0)*x(1),x(1)*x(2),x(2)*x(3),....,x(n-3)*x(n-2),x(n-2)*x(n-1)), где x(i) - элементы вещественного массива x из n элементов. Массив содержит 18 элементов. Поиск максимального значения оформить в виде функции.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2012, 20:18     Найти произведение ряда
Посмотрите здесь:

Найти произведение ряда C++
Найти произведение ряда C++
C++ Найти произведение ряда
C++ Найти произведение ряда
C++ Рекурсия. Найти произведение ряда
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
25.01.2012, 21:42     Найти произведение ряда #2
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов.
это как? поясните задание
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.01.2012, 21:48     Найти произведение ряда #3
Цитата Сообщение от LostCoast Посмотреть сообщение
это как? поясните задание
В каждом столбце найти наименьший элемент, вернуть наибольший из найденых.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.01.2012, 21:56     Найти произведение ряда #4
Цитата Сообщение от LostCoast Посмотреть сообщение
это как? поясните задание
C
1
2
3
4
5
6
7
8
9
for(j = 0; j < cols; ++j)
{
    min = arr[0][j];
    for(i = 1; i < rows; ++i)
        if(arr[i][j] < min)
            min = arr[i][j];
    if(min > max)
        max = min;
}
Так примерно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.01.2012, 22:07     Найти произведение ряда #5
soon, а max чем инициализируется?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.01.2012, 22:22     Найти произведение ряда #6
easybudda, минимальным значением для данного типа. Вне данного блока, разумеется.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
25.01.2012, 23:05     Найти произведение ряда #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
1. В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов.
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
#include <stdio.h>
#define N 4
#define M 5
 
int main() 
{
    int m[N][M];
    int max = 0, min[N];
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++) {
            printf("a = ");
            scanf("%d", &m[i][j]);
        }
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) 
            printf("%d ", m[i][j]);
        printf("\n");
    }
    for (int i = 0; i < N; i++) {
        min[i] = m[i][0];
        for (int j = 0; j < M; j++) 
            if (min[i] > m[i][j]) min[i] = m[i][j];
        if (max < min[i]) max = min[i];
        printf("min[%d]= %d\n", i, min[i]);
    }
    printf("max = %d", max);
    return 0;
}
Добавлено через 29 минут
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
2. Вычислить значение min (x(0)*x(1),x(1)*x(2),x(2)*x(3),....,x(n-3)*x(n-2),x(n-2)*x(n-1)), где x(i) - элементы вещественного массива x из n элементов. Массив содержит 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
#include <stdio.h>
#define N 18
 
int search_max(int *p, int size)
{
    int max = 0;
    for (int i = 0; i < size - 1; i++) 
        if (max < p[i]) max = p[i];
    return max;
}
 
int main()
{
    int p[N];
    int *m = &p[0];
    int *min = m;
    for (int  i = 0; i < N; i++) {
        printf("x[%d] = ", i);
        scanf("%d", &m[i]);
    }
    for (int i = 0; i < N; i++)
        printf("%d ", m[i]);
    for (int i = 0; i < N - 1; i++) 
        min[i] = m[i] * m[i + 1];
    printf("\nmax = %d", search_max(min, N));
    return 0;
}
единственное не знаю как вот эти строки подкорректировать
C
1
2
int p[N];
int *m = &p[0];
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
27.01.2012, 21:48  [ТС]     Найти произведение ряда #8
С первой задачкой спасибо большое, а вот во второй, не много не так. Нужно чтобы он минимальное произведение нашел, а он максимальное находит.
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
27.01.2012, 21:48     Найти произведение ряда #9
Maksim_2011, минимальное, среди минимальных? просто сперва задание не понял толком.
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
27.01.2012, 21:51  [ТС]     Найти произведение ряда #10
Цитата Сообщение от LostCoast Посмотреть сообщение
Maksim_2011, минимальное, среди минимальных? просто сперва задание не понял толком.
Нет, просто вводиться массив, потом делается перемножение первого со вторым, второго с третьим, и т.д. и потом среди этих произведений минимальное.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2012, 21:58     Найти произведение ряда
Еще ссылки по теме:

C++ Возвращает один и тот же результат. Найти произведение ряда
C++ Найти произведение ряда по формуле
Найти произведение максимальных элементов каждого ряда C++

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

Или воспользуйтесь поиском по форуму:
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
27.01.2012, 21:58     Найти произведение ряда #11
в таком случае в этой строке просто меняешь знак > на знак < и должно все работать
C++
1
if (max > p[i]) max = p[i];
Добавлено через 3 минуты
в общем вот такая функция будет
C++
1
2
3
4
5
6
7
int search_max(int *p, int size)
{
    int max = p[0];
    for (int i = 0; i < size - 1; i++) 
        if (max > p[i]) max = p[i];
    return max;
}
Добавлено через 1 минуту
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
Поиск максимального значения оформить в виде функции.
эм у тебя кстати написано было максимального, так что не обесуй.
Yandex
Объявления
27.01.2012, 21:58     Найти произведение ряда
Ответ Создать тему
Опции темы

Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru