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

Цикл для подсчета наибольшего произведения в стобцах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевернуть массив и, удалив средний элемент и добавить в начало 3 элемента http://www.cyberforum.ru/cpp-beginners/thread1752253.html
Сформировать двумерный массив целых чисел 1)Распечатать полученный массив. 2)Перевернуть массив и, если число элментов массива нечетное, удалить его средний элемент 3)Добавить в начало массива 3 элемента с значениям M -2 4)Распечатать полученный массив Нужна помощь, вообще ни как не получается сделать Работаю на Microsoft Visual Studio 2015
C++ Возвести во введенном натуральном числе каждую цифру в степень, соответствующую ее позиции в числе Возвести во введенном натуральном числе каждую цифру в степень, соответствующую ее позиции в числе. Найти сумму полученных величин. Помогите, просто с суммой цифр понятно, но как определить позицию цифры? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int n, sum=0; printf("n= "); scanf("%d", &n); http://www.cyberforum.ru/cpp-beginners/thread1752241.html
C++ Сортировка односвязного списка
Здравствуйте уважаемые киберфорумщики! Нужна срочная помощь!!! В общем у меня есть задача которую нужно сделать но нет ни знаний ни времени на изучение сего вопроса. Поэтому прошу помочь мне с этим знающих людей. Желательно с объяснениями) Построить класс для работы с односвязным списком. Элементы списка - целые числа. сформировать список, упорядочить элементы списка по возрастанию,...
Найти ошибки в калькуляторе C++ Builder
Привет, может кто помочь найти ошибки, и сказать почему не пашет? :( Borland C++ builder 6 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init)
C++ Сумма действительных чисел http://www.cyberforum.ru/cpp-beginners/thread1752182.html
Дано десять действительных чисел. Найти их сумму.
 

Показать сообщение отдельно
Njkzy
29 / 29 / 14
Регистрация: 29.04.2011
Сообщений: 149
Завершенные тесты: 1
02.06.2016, 11:00     Цикл для подсчета наибольшего произведения в стобцах
Цитата Сообщение от guardian Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cout<<"Произведение элементов столбцов:"<<endl;
* * for(int i=0;i<m;i++)
* * {
* * * * for(int j=0;j<n;j++)
* * * * * * mult=mult*a[j][i];
* * * * if((mult>multm)||(i==0))
* * * * {
* * * * * * multm=mult;
* * * * * * maxl=i;
* * * * }
* * * * cout<<"p["<<i<<"] = "<<mult<<endl;
* * * * mult=1;
* * }
Если вы зададите массив [2][3] то j у вас будет считаться до 3, а у вас не будет 3й строки, но компилятор все равно будет пытаться считать 3 строку. В целом алгоритм умножения элементов столбцов не верный. Воспользуйтесь поиском на форуме для нахождения произведения элементов столбцов двумерного массива.

Добавлено через 5 минут
Цитата Сообщение от TimeTwo Посмотреть сообщение
П.С. так все работает как нужно ...
А вы задайте массив m=2, n=3 или любую другую не квадратную матрицу тогда не будет работать.

Добавлено через 57 минут
В общем решение будет выглядеть так:
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
#include <iostream>
#include <math.h>
#include <locale>
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    double m, n;
    cout << "Введите число строк двумерного массива m: ";
    cin >> m;
    cout << "Введите число столбцов двумерного массива n: ";
    cin >> n;
    
    double** a = new double* [m];
    for (int i = 0; i < m; i++)
        a[i] = new double[n];
    double suml = 0, sumlm = 0, minl = 0, mult = 1, multm = 0, maxl = 0;
    cout << "Массив a:" << endl;
    for (int i = 0; i<m; i++)
    {
        for (int j = 0; j<n; j++)
        {
            a[i][j] = ((i - j)*cos(j));
            cout << setw(15) << a[i][j];
        }
        cout << endl;
    }
    cout << "Суммы элементов строк:" << endl;
    for (int i = 0; i<m; i++)
    {
        for (int j = 0; j<n; j++)
            suml = suml + a[i][j];
        if ((suml<sumlm) || (i == 0))
        {
            sumlm = suml;
            minl = i;
        }
        cout << "s[" << i << "] = " << suml << endl;
        suml = 0;
    }
    cout << "Наименьшая сумма элементов = " << sumlm << " в строке №" << minl << endl;
    cout << "Произведение элементов столбцов:" << endl;
    double *pr = new double[n];
    for (int i = 0; i < n; i++)
        pr[i] = 1;
    for (int j = 0; j < n; j++)
    {
        for (int i = 0; i < m; i++)
        {
            pr[j] *= a[i][j];
        }
    }
    for (int i = 0; i < n; i++)
        cout << "p[" << i << "] = " << pr[i] << endl;
    for (int i = 0; i < m; i++)
        delete[] a[i];
    delete[]a;
 
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru