Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
#1

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

06.04.2014, 12:51. Просмотров 416. Ответов 13
Метки нет (Все метки)

Помогите пожалуйста написать программу с помощью void f();
В каждой строке матрицы В (4,5) разместить сначала положительные элементы, а за ними - все остальные.
http://www.cyberforum.ru/cpp-beginners/thread1136452.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 12:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Двумерная матрица. Разместить сначала положительные элементы, а за ними - все остальные (C++):

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

В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2
Из двух массивов M1(10) и M2(10) получить третийX( ) в массиве X записать...

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> ...

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные.как доработать?
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> ...

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные
привет всем) никак не могу придумать влгоритм для куска задачи:...

13
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,595
06.04.2014, 12:55 #2
Gorpash, каждую строку сортируете по убыванию.
0
BlackSpace
141 / 134 / 94
Регистрация: 15.03.2014
Сообщений: 280
06.04.2014, 13:06 #3
S_el, думаю, что взаимное расположение положительных элементов должно быть сохранено. Также как и неположительных. А иначе задание на сортировку по убыванию должно так и выглядеть - "отсортируйте по убыванию".
Т.е. строка
0 1 4 -7 3 -2
должна превратиться в строку
1 4 3 0 -7 -2
0
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,595
06.04.2014, 13:18 #4
BlackSpace, исходное задание можно понять и так,но мой вариант проще
0
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,186
Завершенные тесты: 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];
   }
}
1
Tulosba
06.04.2014, 13:58
  #6

Не по теме:

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

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

Не по теме:

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

0
S_el
06.04.2014, 19:25
  #9

Не по теме:

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

0
Tulosba
06.04.2014, 21:59
  #10

Не по теме:

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

0
S_el
06.04.2014, 22:43
  #11

Не по теме:

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

0
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;
}
0
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,595
08.04.2014, 09:43 #13
Gorpash, зачем использовать и printf и cout в одной программе?
0
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
08.04.2014, 15:12  [ТС] #14
Мне так удобней. Я только недавно начал изучать С++, еще толком не понял тонкостей среды си.
0
08.04.2014, 15:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 15:12
Привет! Вот еще темы с решениями:

Двумерная матрица на С++ (найти все парные элементы в двумерном массиве и сложить их)
Добрый вечер! Подскажите пожалуйста каким образом можно реализовать следующую...

Вывести сначала все положительные элементы массива, затем все отрицательные
Вывести сначала все положительные элементы массива, затем все отрицательные...

Преобразовать массив, расположив сначала все положительные элементы, а потом - все отрицательные
Преобразовать массив таким образом, чтобы сначала располагаись все...

Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные
Добрый день, в поиске ничего подходящего не нашлось. Нет времени уже самому...


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

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

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