Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
#1

Отрицательные элементы в многомерной матрице - C++

08.07.2011, 14:09. Просмотров 891. Ответов 15
Метки нет (Все метки)

Всем привет)
Вот такой вопрос, найти отрицательные элементы в многомерной матрицы, и записать их в одномерный массив.
Вот что то попытался написать...

C++
1
2
3
4
5
6
7
8
9
10
11
12
void main()
{int const n=5;
int const m=5;
int const b=10;
int mass[n][m];
for (int i = 0; i < n; i++)
for (int j=0;j<m;j++)
cout << "Vvedite element -> ";
cin >> mass[i][j];
for(int i = 0; i < n-1; i++)
for(int j=0;j<m;j++)
if (a[i] < 0)
Спасибо за ваши ответы)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2011, 14:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отрицательные элементы в многомерной матрице (C++):

Обработать положительные и отрицательные элементы в целочисленной матрице - C++
Дана целочисленная матрица. определить: А) номер первой из строк, содержащей хотя бы один положительный элемент Б) характеристику каждой...

В матрице положительные элементы заменить на единичные , а отрицательные обнулить - C++
(результат выводится в виде файла ) В матрице (6,7) положительные элементы заменить на единичные , а отрицательные обнулить.помогите!!!

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

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

Заменить в матрице все отрицательные элементы первой строки числом 0 - C++
прошу,помогите!!! написать следующую программу,используя указатели: дана целочисленная матрица размера 5 на 5.заменить в данной матрице все...

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

15
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
08.07.2011, 14:47 #2
C++
1
2
3
4
for (int j=0;j<m;j++) {
cout << "Vvedite element -> ";
cin >> mass[i][j]; 
}
C++
1
2
3
4
5
int a[n*m]; int cur=0;
for(int i = 0; i < n; i++)
for(int j=0;j<m;j++)
if (mass[i][j]<0)
a[cur++]=mass[i][j];
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
09.07.2011, 18:25  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
void main()
{int const n=5;
int const m=5;
int mass[n][m];
for (int i=0;i<n;i++)
for (int j=0;j<m;j++) {
cout << "Vvedite element -> ";
cin >> i >> j; }
int a[n*m]; int cur=0;
for(int i = 0; i < n; i++)
for(int j=0;j<m;j++)
if (mass[i][j]<0)
a[cur++]=mass[i][j];
cout << "Rez: " << cur;
_getch();}
Вот сделал, выдает не правильный результат....((Подскажите как правильно записать пожалуйста?
0
An1ka
66 / 71 / 2
Регистрация: 30.06.2011
Сообщений: 176
09.07.2011, 19:17 #4
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;
 
int main ( )
{
  setlocale(LC_ALL,"Rus");
  int const n=5;
  int const m=5;
  int mass[n][m];
  for (int i = 0; i < n; i++)
  for (int j = 0; j < m; j++)
  {
  cout << "Vvedite element -> ";
  cin >> mass[i][j];
  }
  vector< int> mas;
  copy_if ( &(**mass), &(**mass)+ n*m, inserter ( mas, mas.end()), bind2nd( less< int>(), 0));
  cout << "Отрицательные элементы : ";
  copy ( mas.begin(), mas.end(), ostream_iterator< int> ( cout, " "));
  system("pause");
  return 0;
}
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
09.07.2011, 19:18 #5
тебя же поправили уже:
C++
1
2
3
4
for (int i=0;i<n;i++)
for (int j=0;j<m;j++) {
cout << "Vvedite element -> ";
cin >> mass[i][j]; }
все остальное верно - выводит количество отрицательных элементов.
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
11.07.2011, 18:22  [ТС] #6
Цитата Сообщение от An1ka Посмотреть сообщение
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;
 
int main ( )
{
  setlocale(LC_ALL,"Rus");
  int const n=5;
  int const m=5;
  int mass[n][m];
  for (int i = 0; i < n; i++)
  for (int j = 0; j < m; j++)
  {
  cout << "Vvedite element -> ";
  cin >> mass[i][j];
  }
  vector< int> mas;
  copy_if ( &(**mass), &(**mass)+ n*m, inserter ( mas, mas.end()), bind2nd( less< int>(), 0));
  cout << "Отрицательные элементы : ";
  copy ( mas.begin(), mas.end(), ostream_iterator< int> ( cout, " "));
  system("pause");
  return 0;
}
Спасибо за ваш вариант, попробовал, выдает 4 ошибки, одна из них "bin2nd не принимает значений..."
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
11.07.2011, 21:21 #7
#include <functional> попробуй
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
12.07.2011, 12:08  [ТС] #8
Цитата Сообщение от OstapBender Посмотреть сообщение
#include <functional> попробуй
Спасибо))
Теперь осталась одна ошибка, не найден идентификатор copy_if..
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
12.07.2011, 12:11 #9
а компиль какой?
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
12.07.2011, 12:13  [ТС] #10
Microsoft Visual Studio 2008
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
12.07.2011, 12:18 #11
странно. должно работать. буквы большие не закрались?
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
12.07.2011, 12:34  [ТС] #12
Цитата Сообщение от co6ak Посмотреть сообщение
странно. должно работать. буквы большие не закрались?
Та вроде нет таких....=(

Добавлено через 4 минуты
А из-за чего такое может быть, может какую ту альтернативу нужно?
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
12.07.2011, 12:35 #13
альтернатива есть.
заменить copy_if шаблоном
0
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
12.07.2011, 12:39  [ТС] #14
Цитата Сообщение от co6ak Посмотреть сообщение
альтернатива есть.
заменить copy_if шаблоном
bind или back_inserter ? Или это не то?
0
An1ka
66 / 71 / 2
Регистрация: 30.06.2011
Сообщений: 176
12.07.2011, 14:25 #15
Цитата Сообщение от leha-demi Посмотреть сообщение
Спасибо))
Теперь осталась одна ошибка, не найден идентификатор copy_if..
C++
1
std::copy_if
Везде, где ругается, что найти не может пропиши имя:
C++
1
std::

Или
C++
1
using namespace std;
В начале программы написать.
0
12.07.2011, 14:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2011, 14:25
Привет! Вот еще темы с ответами:

В матрице все отрицательные элементы следующие за строкой с наибольшим элементом увеличить на 10 - C++
• В матрице все отрицательные элементы в строках, которые следуют за стро¬кой, содержащей наибольший элемент, увеличить на 10

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

В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен - C++
В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен.Вывести конечную матрицу #include &lt;conio.h&gt;...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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