С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 0
Регистрация: 21.11.2011
Сообщений: 143
1

Дана матрица N*M. Все положительные элементы в верхнюю левую область, а неположительные – в нижнюю

21.12.2012, 16:33. Показов 1918. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданной матрице A размером N*M разместить все положительные элементы в верхнюю левую область матрицы (заполняя ими матрицу по строкам слева направо), а неположительные – в нижнюю правую область
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2012, 16:33
Ответы с готовыми решениями:

Разместить все положительные элементы в левую верхнюю область матрицы, а неположительные - в правую нижнюю
Ребят помогите написать прогу- Разместить все положительные элементы в левую верхнюю область...

Дана матрица. Поменять местами левую нижнюю и правую верхнюю четверти матрицы
Дана матрица(M и N - четные числа ).Поменять местами левую нижнюю и правую верхнюю четверти матрицы.

Дана матрица размера M*N (M и N-четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M*N (M и N-четные числа). Поменять местами левую верхнюю и правую нижнюю...

Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю...

2
73 / 7 / 0
Регистрация: 08.08.2012
Сообщений: 223
Записей в блоге: 1
21.12.2012, 16:45 2
Я не много не понял, сути вопроса!
Например, матрица n на m:
+4 -2 +1 +2
-3 +3 +2 +1
И что должно получиться?
Я так понял что выйдет :
+4 +1 +2 +3
+2 +1 -2 -3
Так?
0
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,520
Записей в блоге: 1
21.12.2012, 17:12 3
Лучший ответ Сообщение было отмечено denstr как решение

Решение

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
int i, j, i1, j1;
int run=1;
int search;
i=j=0;
i1=M-1;
j1=N-1;
while(run){
  search=run;
  for(i; i<M&&/*amp;amp;*/search; i++)
    for(j=(j==N)?0:j; j<N&&/*amp;amp;*/search; j++)
      {
      run=((i!=i1)&&(j!=j1));
      search=run&&(a[i][j]>=0);
      }
  search=run;
  for(i1; i1>=0&&/*amp;amp;*/search; i1--)
    for(j1=(j1==-1)?N-1:j1; j1>=0&&/*amp;amp;*/search; j1--)
      {
      run=((i!=i1)&&(j!=j1));
      search=run&&(a[i1][j1]<=0);
      }
  if(search){
         a[i1][j1] ^= a[i][j];
          a[i][j] ^= a[i1][j1];
          a[i1][j1] ^= a[i][j];
  }
}
Да ёлки-палки! Слова amp; не убрать из текста!

Добавлено через 7 минут
правка: строка 22:
C++
1
if(!search){
1
21.12.2012, 17:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2012, 17:12
Помогаю со студенческими работами здесь

Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю...

В массиве перенесите левую верхнюю часть в левую нижнюю
Дан квадратный массив, в котором количество строк и столбцов -четно. Такой массив можно разбить на ...

Дана матрица размера M×N. Поменять местами верхнюю и нижнюю половины матрицы
Дана матрица размера M×N. Поменять местами верхнюю и нижнюю половины матрицы.

Дана матрица размера M на N (M - четное число). Поменять местами верхнюю и нижнюю половину матрицы
Дана матрица размера M на N (M - четное число). Поменять местами верхнюю и нижнюю половину матрицы.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru