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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
#1

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

05.01.2014, 10:03. Просмотров 524. Ответов 12
Метки нет (Все метки)

Вычислить произведение положительных элементов строки матрицы. При обнаружении 0 должно выдаваться сообщение «Обнаружен 0». Помогите решить. Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 10:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить произведение положительных элементов строки матрицы (C++):

Вычислить произведение положительных элементов строки матрицы - C++
ПРИВЕТСТВУЮ!!!! В общем задачки простые, но не могу их разобрать!:wall: просто они мне в ближайшее время нужны, а сама пока разберусь.......

Вычислить произведение положительных элементов строки матрицы - C++
Пожалуйста, помогите посчитать произведение положительных элементов строки матрицы. Как это можно реализовать? Представления не имею как...

Операторы передачи управления (вычислить произведение положительных элементов строки матрицы) - C++
Вычислить произведение положительных элементов строки матрицы. При обнаружении 0 должно выдаваться сообщение «Обнаружен 0». #include...

Вычислить произведение положительных элементов заданной строки матрицы (написать код с использованием goto) - C++
Программа вычисления произведения положительных элементов строки матрицы. При обнаружении 0 выводится сообщение "Обнаружен 0!" Ее...

Найти произведение положительных элементов каждой строки матрицы - C++
Найти произведение положительных элементов каждой строки матрицы А.Найти минимальное среди них и указать номер соответствующей...

Вычислить произведение положительных и отрицательных элементов каждой строки - C++
Здравствуйте, Уважаемые форумчане ! :) Вот такое у меня задание значит: Дана матрица. Вычислить произведение положительных и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 11:16 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int myfunc(int**matrix,int m,int n){
    int res = 1;
    for (int i = 0; i < m; ++i){
            for (int j = 0; j < n; ++j){
                if(matrix[i][j]==0){
                    cout << "обнаружен нуль и мыего пропустим";
                    continue;
                }
                if(matrix[i][j]>0){
                    res*=matrix[i][j];
                }
            }
         }
    return res;     
}
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
05.01.2014, 11:31  [ТС] #3
При запуске вылезает ошибка Windows.
Данные по ошибке:
Имя события проблемы: APPCRASH
Имя приложения: praktika3-3.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 52c909ba
Имя модуля с ошибкой: praktika3-3.exe
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 52c909ba
Код исключения: c0000005
Смещение исключения: 0000b038
Версия ОС: 6.1.7601.2.1.0.768.2
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
05.01.2014, 11:58 #4
а где же у вас подключение библиотек???
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
05.01.2014, 12:03  [ТС] #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main;
int myfunc(int**matrix,int m,int n){
    int res = 1;
    for (int i = 0; i < m; ++i){
            for (int j = 0; j < n; ++j){
                if(matrix[i][j]==0){
                    cout << "Obnaruzhe 0";
                    continue;
                }
                if(matrix[i][j]>0){
                    res*=matrix[i][j];
                }
            }
         }
    return res;
}
Вроде все норм, ошибок в компиляторе нет, но эта ошибка напрягает.
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
05.01.2014, 12:06 #6
C++
1
int main; вот ошибка должно быть int main(){....}
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
05.01.2014, 12:14  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main(){
int myfunc(int**matrix,int m,int n);
{
 
    int res = 1;
    for (int i = 0; i < m; ++i){
            for (int j = 0; j < n; ++j){
                if(matrix[i][j]==0){
                    cout << "Obnaruzhe 0";
                    continue;
                }
                if(matrix[i][j]>0){
                    res*=matrix[i][j];
                }
            }
         }
    return res;
}
}
Если так написать, то другие ошибки всплывают.
Подпрваь если можешь, буду очень благодарен.
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 12:19 #8
JokerCD, так сойдет?
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
#include <iostream>
using std::cin;
using std::cout;
 
int myfunc(int**matrix,int m,int n){
    int res = 1;
    for (int i = 0; i < m; ++i){
            for (int j = 0; j < n; ++j){
                if(matrix[i][j]==0){
                    cout << "обнаружен нуль и мы его пропустим";
                    continue;
                }
                if(matrix[i][j]>0){
                    res*=matrix[i][j];
                }
            }
         }
    return res;     
}
int**Create(int countRow,int countColumn){
    int**res = new int*[countRow];
    for(int i = 0; i < countRow;i++){
        res[i] = new int[countColumn];
    }
    for(int i = 0; i < countRow;i++){
        for(int j = 0; j < countColumn; j++){
            res[i][j] = 0;
        }
    }
    return res;
}
void Destroy(int** matr,int countRow){
    for(int i = 0; i < countRow;i++){
        delete [] matr[i];
    }
    delete[]matr;
}
void input(int**&matrix, int countRow, int countColumn){
    for (int i = 0; i < countRow; ++i){
        for(int j = 0; j < countColumn; j++){
            cin >> matrix[i][j];
        }
    }
}
void Out(int**matrix, int countRow, int countColumn){
    for (int i = 0; i < countRow; i++){
        for(int j = 0; j < countColumn; j++){
            cout << matrix[i][j] << "\t";
        }
        cout << "\n";
    }   
}
int main(int argc, char const *argv[]){
    int countRow1 = 0;
    int countColumn1 = 0;
    cout << "Please enter the dimensions of the first matrix\n";
    cin >> countRow1 >> countColumn1;
    int**A = Create(countRow1,countColumn1);
    int x = myfunc(A,countRow1,countColumn1);
    cout << "Произведение положительных элементов матрицы\t" <<     x << "\n";
    system("pause");
    return 0;
}
SanchO-SEK
61 / 23 / 3
Регистрация: 22.05.2012
Сообщений: 87
05.01.2014, 12:21 #9
Объявление функции myfunc() должно быть за пределами функции main()
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 12:23 #10
И почему Вы решили, что у Вас будет работать? У Вас же в main'е и объявление, и реализация функции. Вы хоть чуть-чуть матчасть учите.

Добавлено через 54 секунды
SanchO-SEK, точно, просмотрел
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
05.01.2014, 12:24  [ТС] #11
В 57 строке пишет ошибку : 'countColumn1' was not declared in this scope
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 12:29 #12
JokerCD, я исправил эту ошибку, скопируйте еще раз
JokerCD
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 41
05.01.2014, 12:34  [ТС] #13
Спасибо большое за помощь!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 12:34
Привет! Вот еще темы с ответами:

Вычислить произведение отрицательных элементов строки матрицы - C++
Помогите пожалуйста! написал программу, но она не высчитывает отрицательные элементы и при обнаружении 0 не выводит сообщение. Вот...

Определить минимальный элемент каждой строки матрицы и найти произведение положительных элементов, расположенных на ее главной диагонали. - C++
1. Определить минимальный элемент каждой строки матрицы. Напечатать его значение и индексы. 2. Найти произведение положительных элементов...

Как вычислить суммы положительных элементов каждой строки матрицы? - C++
пожалуйста,помогите написать программу. Даны целые числа n, m и матрица целых чисел A. Вычислить суммы положительных элементов каждой...

Вычислить и запомнить сумму и число положительных элементов каждой строки матрицы - C++
Вычислить и запомнить сумму и число полож. Элементов каждой строки матрицы. Результат отпечатать в виде двух столбцов. N&lt;=20...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.01.2014, 12:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru