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

Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные - C++

Восстановить пароль Регистрация
 
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
06.04.2014, 12:51     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #1
Помогите пожалуйста написать программу с помощью void f();
В каждой строке матрицы В (4,5) разместить сначала положительные элементы, а за ними - все остальные.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 12:51     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные
Посмотрите здесь:

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные C++
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные C++
C++ Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные
C++ Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные.как доработать?
C++ В каждой строке матрицы разместить сначала положительные элементы, а за ними - все остальные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,911
06.04.2014, 12:55     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #2
Gorpash, каждую строку сортируете по убыванию.
BlackSpace
135 / 128 / 50
Регистрация: 15.03.2014
Сообщений: 275
06.04.2014, 13:06     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #3
S_el, думаю, что взаимное расположение положительных элементов должно быть сохранено. Также как и неположительных. А иначе задание на сортировку по убыванию должно так и выглядеть - "отсортируйте по убыванию".
Т.е. строка
0 1 4 -7 3 -2
должна превратиться в строку
1 4 3 0 -7 -2
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,911
06.04.2014, 13:18     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #4
BlackSpace, исходное задание можно понять и так,но мой вариант проще
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
06.04.2014, 13:21     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define n 5
void f(int a[n][n])
{
 
    int b[n];//объявляем новый массив
    for (int j=0;j<n;j++)
    {
        int k=0;
        for (int i=0;i<n;i++)
            if (a[j][i] >0) // положительные 
                  b[k++]=a[j][i];
        for (int i=0;i<n;i++)
            if (a[j][i] <=0) // неположительные 
                  b[k++]=a[j][i];
        for (int i=0;i<n;i++)
              a[j][i]=b[i];
   }
}
Tulosba
06.04.2014, 13:58
  #6

Не по теме:

Цитата Сообщение от Gorpash Посмотреть сообщение
Двумерная матрица
А бывает какая-то другая?

Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
06.04.2014, 14:51  [ТС]     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #7
одномерная матрица(вектор) 1 2 3 4 5 6 7 8 9 например
Tulosba
06.04.2014, 15:00
  #8

Не по теме:

Ма́трица — математический объект, записываемый в виде прямоугольной таблицы элементов кольца или поля (например, целых, действительных или комплексных чисел), которая представляет собой совокупность строк и столбцов, на пересечении которых находятся её элементы.
с вики.

S_el
06.04.2014, 19:25
  #9

Не по теме:

Tulosba,
с той-же вики:

Tulosba
06.04.2014, 21:59
  #10

Не по теме:

S_el, это как-то противоречит написанному ранее? Можно даже взять число и тоже представить в виде матрицы 1х1. Но если уж назвали матрицей, то от ее двумерности никуда не деться. Есть строки и есть столбцы, а третьего и последующих измерений нет. Не стоит путать с многомерными массивами.

S_el
06.04.2014, 22:43
  #11

Не по теме:

Tulosba, вы не совсем ясно выразились,вот я и не так понял

Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
08.04.2014, 01:06  [ТС]     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #12
а что мы запихиваем в главную программу?

Добавлено через 56 минут
Отредактируйте пожалуйста программу.
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
 
void f(int a[4][5], int n, int m)
{   system("cls");
    int i; int j;
    int b[m]; //объявляем новый массив
    printf("Pochatkoviy masive = "); cout<<endl;
    srand(time(NULL));
    for ( i=0; i<n; i++)
    {
        for ( j=0; j<m; j++)
        {
            a[i][j]=20-rand()%50;
            printf("%  3d " , a[i][j]);
            }cout<<endl;}
    
    for (int j=0;j<m;j++)
    {
        int k=0;
        for ( i=0;i<n;i++ ){
            if (a[j][i] >0) // положительные  
                  b[k++]=a[j][i];}
        for (int i=0;i<n;i++){
            if (a[j][i] <=0) // неположительные 
                  b[k++]=a[j][i];}
        for (int i=0;i<n;i++){
              a[j][i]=b[i];}
   }
   cout<<endl;
   printf("Peretvorenyi masive = "); cout<<endl;
   for ( i=0; i<n; i++)
    {
    for ( j=0; j<m; j++)
    {
            printf(" %3d " , a[i][j]);
    }cout<<endl;
   }
}
 int main()
 { int B[4][5];
   f(B,4,5);
   getch();
return 0;
}
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,911
08.04.2014, 09:43     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #13
Gorpash, зачем использовать и printf и cout в одной программе?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 15:12     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные
Еще ссылки по теме:

В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2 C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом – все отрицательные C++

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

Или воспользуйтесь поиском по форуму:
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
08.04.2014, 15:12  [ТС]     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные #14
Мне так удобней. Я только недавно начал изучать С++, еще толком не понял тонкостей среды си.
Yandex
Объявления
08.04.2014, 15:12     Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные
Ответ Создать тему
Опции темы

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