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

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

Восстановить пароль Регистрация
 
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 128
10.06.2013, 18:01     Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем #1
Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элементами, удаленная строка заполняется 0 и переносится в конец массива.
Найти минимальный из неповторяющихся элементов двумерного массива

Добавлено через 8 минут
.........
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 18:01     Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем
Посмотрите здесь:

Удалить из массива все отрицательные элементы C++
C++ Удалить все отрицательные элементы массива
Удалить из массива все отрицательные элементы C++
Удалить из массива все отрицательные элементы; C++
работа с последовательностью (удалить из массива элем-т, расположенный после 1-го элем-та с max значением, и элем-т после 1-го элем-та с min знач.) C++
Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива C++
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э C++
Записать все положительные и отрицательные элементы двумерного массива в одномерные массивы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
10.06.2013, 18:09     Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем #2
Без минимально элемента.
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int** createMatrix(int, int);
void fillMatrix(int **, int, int );
void printMatrix(int **, int, int);
bool isNegative(int **, int, int);
void moveRow(int **, int, int, int);
void freeMatrix(int **, int);
 
int main() {
  setlocale(0, "");
  int n, m;
  std::cout << "n = ";
  std::cin >> n;
  std::cout << "m = ";
  std::cin >> m;
 
  int **matrix = createMatrix(n, m); 
  fillMatrix(matrix, n, m);
 
  std::cout << "Матрица:" << std::endl;
  printMatrix(matrix, n, m);
  
  for(int j = 0; j < n; ++j) {
    for(int i = 0; i < n; ++i) {
      if(isNegative(matrix, i, m)) {
        moveRow(matrix, i, n, m);
      }
    }
  }
 
  std::cout << "Матрица с перестановкой: " << std::endl;
  printMatrix(matrix, n, m);
 
  freeMatrix(matrix, n);
 
  std::cin.get();
  std::cin.get();
  return 0;
}
 
int** createMatrix(int n, int m) {
  int **matrix = new int*[n];
  for(int i = 0; i < n; ++i)
    matrix[i] = new int[m];
  return matrix;
}
 
void fillMatrix(int **matrix, int n, int m) {
  srand(time(0));
  for(int i = 0; i < n; ++i)
    for(int j = 0; j < m; ++j)
      matrix[i][j] = -3 + rand() % 12;
}
 
void printMatrix(int **matrix, int n, int m) {
  for(int i = 0; i < n; ++i) {
    for(int j = 0; j < m; ++j)
      std::cout << std::setw(4) << matrix[i][j];
    std::cout << std::endl;
  }
}
 
bool isNegative(int **matrix, int row_index, int m) {
  for(int j = 0; j < m; ++j)
    if(matrix[row_index][j] < 0)
      return true;
  return false;
}
 
void moveRow(int **matrix, int row_index, int n, int m) {
  for(int j = 0; j < m; ++j) {
    matrix[row_index][j] = 0;
  }
  if(row_index == n - 1)
    return;
  for(int i = row_index; i < n - 1; ++i) {
    for(int j = 0; j < m; ++j) {
      int temp = matrix[i][j];
      matrix[i][j] = matrix[i + 1][j];
      matrix[i + 1][j] = temp;
    }
  }
}
 
void freeMatrix(int **matrix, int n) {
  for(int i = 0; i < n; ++i)
    delete[] matrix[i];
  delete [] matrix;
}
Yandex
Объявления
10.06.2013, 18:09     Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем
Ответ Создать тему
Опции темы

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