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

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

Войти
Регистрация
Восстановить пароль
 
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
#1

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

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

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

В каждой строке матрицы разместить сначала положительные элементы, а за ними - все остальные - C++
помогите из заданием а то заплутался в матрице, через функцию void matr(); В каждой строке матрицы В (4,5) разместить сначала...

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

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

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные - C++
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void float1(double...

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные.как доработать? - C++
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void float1(double...

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

13
S_el
2118 / 1643 / 309
Регистрация: 15.12.2013
Сообщений: 6,446
06.04.2014, 12:55 #2
Gorpash, каждую строку сортируете по убыванию.
0
BlackSpace
137 / 130 / 52
Регистрация: 15.03.2014
Сообщений: 277
06.04.2014, 13:06 #3
S_el, думаю, что взаимное расположение положительных элементов должно быть сохранено. Также как и неположительных. А иначе задание на сортировку по убыванию должно так и выглядеть - "отсортируйте по убыванию".
Т.е. строка
0 1 4 -7 3 -2
должна превратиться в строку
1 4 3 0 -7 -2
0
S_el
2118 / 1643 / 309
Регистрация: 15.12.2013
Сообщений: 6,446
06.04.2014, 13:18 #4
BlackSpace, исходное задание можно понять и так,но мой вариант проще
0
zss
Модератор
Эксперт С++
6634 / 6196 / 2051
Регистрация: 18.12.2011
Сообщений: 16,157
Завершенные тесты: 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
2118 / 1643 / 309
Регистрация: 15.12.2013
Сообщений: 6,446
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
Привет! Вот еще темы с ответами:

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

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

Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные - C++
Помогите исправить ошибку, пожалуйста. Тут 3 задания в одном, ошибка в третьем. Задача 3: Из общего задания: &quot;Примечание 1: если в задании...

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


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

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

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