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

Положительные элементы двумерного массива разместить в одномерный - C++

Восстановить пароль Регистрация
 
vitaxa94
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 66
26.02.2012, 23:25     Положительные элементы двумерного массива разместить в одномерный #1
Положительные элементы двумерного массива разместить в одномерный. Найти максимальный и минимальный элемент полученного массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 23:25     Положительные элементы двумерного массива разместить в одномерный
Посмотрите здесь:

залить из двумерного массива данные в одномерный длиной, равной количеству всех элементов исходного массива C++
Все положительные элементы двумерного массива записать в один одномерный массив, а остальные в другой C++
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
Создать два новых массива, в один из которых поместить положительные элементы массива, а в другой отрицательные и нулевые элементы C++
C++ В каждой строке матрицы разместить сначала положительные элементы, а за ними - все остальные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.02.2012, 23:53     Положительные элементы двумерного массива разместить в одномерный #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
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<time.h>
#define n 10
int main()
{
 srand(time(NULL));
 int mas[n][n],a[n],i,j,k=0,max,min;
  for (i=0; i<n; i++)
  {
     for (j=0; j<n; j++)
      {
       mas[i][j]=-5+rand()%100;
           printf("%3d",mas[i][j]);  
      }
     printf("\n");
  }
  printf("\n");
  for (i=0; i<n; i++)
   for (j=0; j<n; j++)
    if (mas[i][j]>0)
     {
      a[k]=mas[i][j];
      printf("%3d",a[k]);
          k++;
         }
  printf("\n"); 
  max=i;
  min=i;
  for (i=0; i<k; i++)
  {
      if (a[i]>a[max])
           max=i;
          if(a[i]<a[min])
       min=i;
  }
 printf("Max=%d\n",a[max]);
 printf("Min=%d\n",a[min]);
 getch();
 return 0;
}
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
27.02.2012, 00:01     Положительные элементы двумерного массива разместить в одномерный #3
К предыдущему посту (вдруг автору поможет?) : лучше все необходимое (максимум, минимум), добавление в массив, делать сразу при считывании в 1 цикле вместо 3.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.02.2012, 00:11     Положительные элементы двумерного массива разместить в одномерный #4
AncinetHero, думаю, так будет более наглядно, хоть и емко и по времени)
vitaxa94
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 66
06.03.2012, 01:02  [ТС]     Положительные элементы двумерного массива разместить в одномерный #5
BumerangSP, а теперь можете внедрить в эту программу функции..? чтобы была с функциями.
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
06.03.2012, 01:07     Положительные элементы двумерного массива разместить в одномерный #6
AncinetHero, вот видите vitaxa94, захотел еще и с функциями то что выи не учли решив что рациональней будет все в одну кучу..
BumerangSP, а вы это учли...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2012, 17:52     Положительные элементы двумерного массива разместить в одномерный
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.03.2012, 17:52     Положительные элементы двумерного массива разместить в одномерный #7
В общем, не знаю, что-то наделал, вроде работает С функциями в деталях не знакомился.
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
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<time.h>
void init(int mas[100][100])
{
    int i,j,n=10;
    for (i=0; i<n; i++)
    {
     for (j=0; j<n; j++)
          {
           mas[i][j]=-50+rand()%100;
           printf("%3d",mas[i][j]);  
          }
     printf("\n");
    }
}
 
int positive(int mas[100][100], int a[100])
{
  int i,j,k=0,n=10;
  printf("\n");
  for (i=0; i<n; i++)
   for (j=0; j<n; j++)
    if (mas[i][j]>0)
         {
          a[k]=mas[i][j];
          printf("%3d",a[k]);
          k++;
         }
  printf("\n"); 
  return k;
}
 
int max(int k, int a[100])
{
  int i,m;
  m=0;
  for (i=0; i<k; i++)
  {
          if (a[i]>a[m])
           m=i;
  }
 return a[m];
}
 
int min(int k, int a[100])
{
  int i,m;
  m=0;
  for (i=0; i<k; i++)
  {
          if (a[i]<a[m])
           m=i;
  }
 return a[m];
}
 
int main()
{
 srand(time(NULL));
 int n=10,mas[100][100],a[100],i,j,k=0,ma,mi;
 init(mas);
 k=positive(mas,a);
 ma=max(k,a);
 mi=min(k,a);
 printf("Max=%d\n",ma);
 printf("Min=%d\n",mi);
 getch();
 return 0;
}
Yandex
Объявления
06.03.2012, 17:52     Положительные элементы двумерного массива разместить в одномерный
Ответ Создать тему
Опции темы

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