Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 14

Найти произведение элементов этой строки

07.02.2010, 16:56. Показов 2478. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, если можете! Задача у меня такова: Дана динамическая матрица, если встречается одно отрицательное число в строках, то надо найти произведение элементов этой строки!
Матрица вводится с клавиатуры!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h> 
#include <iomanip.h> 
void main ()
{
int nrow, ncol;
cout << "Input the number of strings and columns: ";
cin >> nrow >> ncol;
int i, j,n;
int **a = new int *[nrow];
for (i = 0; i < nrow; i++)
    a[i] = new int [ncol]; 
cout << "Input elements of the array: " << endl;
for (i = 0; i < nrow; i++)
   for (j = 0; j < ncol; j++)
       cin >> a[i][j];}
как дальше??? ))))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2010, 16:56
Ответы с готовыми решениями:

Для каждой строки матрицы определить произведение элементов, меньших последнего элемента этой строки
Для каждой строки матрицы определить произведение элементов,меньших последнего элемента этой строки

Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки.. размер матрицы 7х7.заранее...

Найти среднее арифметическое элементов каждой строки матрицы Q (l, m) и вычесть его от элементов этой строки
Найти среднее арифметическое элементов каждой строки матрицы Q (l, m) и вычесть его от элементов этой строки.Помогите пожалуйста. ...

6
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 13:21
Вот программа с комментариями.
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.h>
//главная процедура
void main(){
int H(0);       //высота матрицы
int W(0);       //ширина матрицы
int pr(1);      //произведение в строке в которой есть отриательный
int ncount(0);  //количество отрицательных
 
 
cout<<"Input Height\t";cin>>H;       //введите высоту матрицы
cout<<"Input Width\t"; cin>>W;       //введите ширину матрицы
//создание динамической матрицы
int **matrix = new int*[H];                  //выделение памяти под указатели на строки
for(int r=0;r<H;r++)matrix[r] = new int[W];  //выделение памяти под строки: массивы
//----------------------------------------------------------------------------------------------------
//Введите матрицу:
cout<<"Input matrix\n";
for(int p = 0;p<H;p++){
    for(int j=0;j<W;j++){
cout<<"Input"<<' '<<p<<' '<<j<<'\t';cin>>matrix[p][j];
    }
cout<<'\n';
}
cout<<'\n';
 
//----------------------------------------------------------------------------------------------------
//показ матрицы:
cout<<"Print matrix\n";
for(int x = 0;x<H;x++){
    for(int j=0;j<W;j++){
cout<<' '<<matrix[x][j];
    }
cout<<'\n';
}
//----------------------------------------------------------------------------------------------------
//Вычисляем произведение в тех строках в которых только один отрицательный элемент
for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
    //вычисляем количество отрицательных в очередной строке
    if(matrix[i][j]<0)ncount++;
    }
//Находим произведение в той строке в которой только один отрицательный элемент
if(ncount==1){
for(int j=0;j<W;j++)pr*=matrix[i][j];
cout<<"pr in string:"<<' '<<i<<'\t'<<pr;
cout<<'\n';
}
 
pr = 1;       //произведение по умолчанию
ncount = 0;   //обнуляем счётчик отрицательных
}
 
 
 
 
 
//Освобождение памяти из-под матрицы:
for(int k = 0; k<H ; k++)delete []matrix[k];         //освобождение памяти из-под строк: массивов
delete []matrix;                                     //освобождение памяти из-под указателей на строки
//----------------------------------------------------------------------------------------------------
 
return;
}
1
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 14
08.02.2010, 18:07  [ТС]
спасибо большое! можете переделать ее так , чтобы если встречается хоть один цифр ноль в одной строке, то надо найти количество отрицательных чисел этой сроки!))) Спасибо!
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 18:22
можете переделать ее.
Можем...
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 14
08.02.2010, 18:27  [ТС]
дааа трудный вопрос, вообще-то я новичок в этом деле, но постараюсь! спасибо))
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 18:39
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
#include <iostream.h>
 
//главная процедура
void main(){
int H(0);       //высота матрицы
int W(0);       //ширина матрицы
int pr(1);      //произведение в строке в которой есть отриательный
int ncount(0);  //количество отрицательных
 
 
cout<<"Input Height\t";cin>>H;       //введите высоту матрицы
cout<<"Input Width\t"; cin>>W;       //введите ширину матрицы
//создание динамической матрицы
int **matrix = new int*[H];                  //выделение памяти под указатели на строки
for(int r=0;r<H;r++)matrix[r] = new int[W];  //выделение памяти под строки: массивы
//----------------------------------------------------------------------------------------------------
//Введите матрицу:
cout<<"Input matrix\n";
for(int p = 0;p<H;p++){
    for(int j=0;j<W;j++){
cout<<"Input"<<' '<<p<<' '<<j<<'\t';cin>>matrix[p][j];
    }
cout<<'\n';
}
cout<<'\n';
 
//----------------------------------------------------------------------------------------------------
//показ матрицы:
cout<<"Print matrix\n";
for(int x = 0;x<H;x++){
    for(int j=0;j<W;j++){
cout<<' '<<matrix[x][j];
    }
cout<<'\n';
}
//----------------------------------------------------------------------------------------------------
//Вычисляем произведение в тех строках в которых только один отрицательный элемент
for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
    //вычисляем количество нулевых в очередной строке
    if(matrix[i][j]==0)ncount++;
    }
 
//Считаем кличество отрицательных в строке в котороый есть один или более нолей
//Примечание: ncount==1, тогда рассматривается строка содеражащая только один нулевой элемент
if(ncount>=1){
int cOtriz(0);     //количество отрицательных
for(int j=0;j<W;j++)if(matrix[i][j]<0)cOtriz++;
cout<<"negatives in string:"<<' '<<i<<'\t'<<cOtriz;
cout<<'\n';
}
 
pr = 1;       //произведение по умолчанию
ncount = 0;   //обнуляем счётчик отрицательных
}
 
 
 
 
 
//Освобождение памяти из-под матрицы:
for(int k = 0; k<H ; k++)delete []matrix[k];         //освобождение памяти из-под строк: массивов
delete []matrix;                                     //освобождение памяти из-под указателей на строки
//----------------------------------------------------------------------------------------------------
 
return;
}
Добавлено через 6 минут
Adia:
//Вычисляем произведение в тех строках в которых только один отрицательный элемент
Забыл убрать.
1
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 14
09.02.2010, 07:41  [ТС]
дааа, я поняла! СПС))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2010, 07:41
Помогаю со студенческими работами здесь

Найти среднее арифметическое элементов каждой строки матрицы Q (l, m) и отнять его от элементов этой строки
Найти среднее арифметическое элементов каждой строки матрицы Q (l, m) и отнять его от элементов этой строки

8. Найти среднее арифметическое элементов каждой строки матрицы Q(l,m) и вычесть его из элементов этой строки
желательно с коментариями

Найти произведение четных элементов каждой строки матрицы и определить номер строки, где это произведение минимально
Помогите пожалуйста, други могучие, написать программу диковинную, элементарную, мною доныне неизведанную. Сказ таков: Дана матрица А ....

Найти произведение элементов этой матрицы, попадающих в интервал от 3 до 10
Заполнить квадратную матрицу произвольного размера при помощи генератора случайных чисел. Вывести её на экран в виде таблицы. Найти...

Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки.. размер матрицы 7х7.заранее...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru