1 / 1 / 0
Регистрация: 26.12.2020
Сообщений: 80
1

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных

11.06.2021, 23:16. Показов 732. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать одномерный массив, состоящий из n целочисленных элементов. Элементы массива определить при помощи случайных чисел в диапазоне от -9 до 9. Размерность массива определить при помощи именованной константы. Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных. Порядок элементов должен быть сохранен. Дополнительный массив использовать запрещается.
Помогите пожалуйста...я уже сам запутался где накосячил

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
#include <iostream>
using namespace std; 
 
void int_massiv()
{
   int a[9];
   int i;
   srand(time(0));
 
   for (i = 0; i < 9; i++)
     a[i] = 1 + rand() % 5;
   for (i = 0; i < 9; i++)
     cout<<a[i]<<" "; // вывод результата на экране
}
void double_massiv()
{
   double b[9];
   int i;
   srand(time(0)); 
   for (i = 0; i < 9; i++)
     cout<<b[i]<<" "; }
 
int main()
{
   int_massiv();
   cout<<"\n";
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2021, 23:16
Ответы с готовыми решениями:

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { ...

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех...

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

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

2
429 / 312 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
12.06.2021, 00:41 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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
    srand(time(NULL));
    const int n = 10;
    int* arr = new int[n];
    int i,j, tmp;
    cout << "Matrix:" << endl;
    for ( i = 0; i < n; i++)
    {
        arr[i] = -9 + rand() % 19;
        cout << arr[i] << " ";
    }
    cout << endl;
    for ( i = 1; i < n; ++i)
    {
        tmp = arr[i];
        for (j = i - 1; j >= 0 && !arr[j] && tmp; --j)
        {
            arr[j + 1] = arr[j];
        }
        arr[j + 1] = tmp;
    }
    cout << "Result:" << endl;
    for ( i=0;i<n;i++)
    {
        cout << arr[i] << " ";
    }
    delete[]arr;
    system("chcp 1251>nul");
    return 0;
}
1
Заблокирован
12.06.2021, 02:01 3
ых!

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных


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
#include <cassert>
#include <cstdio>
#include <ctime>
 
int* next(int* src_ptr, int* end_ptr)
{
  assert(src_ptr < end_ptr);
  for ( ; src_ptr != end_ptr; src_ptr++)
    if (*src_ptr) return src_ptr;
  return nullptr;
}
 
void xch(int* a, int* b)
{
  if (*a == *b) return;
  *a ^= *b, *b ^= *a, *a ^= *b;
}
 
void foo(int* x, unsigned count)
{
  for (int* end_ptr = x + count; x < end_ptr; x++)
  {
    if (!*x)
    {
      int* dest_ptr = next(x, end_ptr);
      if (!dest_ptr) break;
      xch(x, dest_ptr);
    }
  }
}
 
int* create(unsigned count, unsigned rand_width)
{
  int* x = new int[count];
  for (int* ptr = x; count--; ptr++)
    *ptr = rand_width / 2 - rand() % (rand_width + (~rand_width & 1));
  return x;
}
 
void print(int* x, unsigned count)
{
  while (count--) printf(" %d", *x++);
  printf("\n");
}
 
int main(void)
{
  srand(time(NULL));
  unsigned count = 32;
  int* x = create(count, 6);
 
  print(x, count);
  foo(x, count);
  print(x, count);
  delete []x;
 
  getchar();
  return 0;
}
0
12.06.2021, 02:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2021, 02:01
Помогаю со студенческими работами здесь

Превратить массив таким образом, чтобы все элементы, равные нулю и единице, располагались после всех остальных
Сделайте задачу с с помощью массива: Превратить массив таким образом, чтобы все элементы, равные...

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались перед всеми остальными
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались перед всеми...

Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; int...

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

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

Переделать массив так, чтоб все элементы, равные нулю и единице располагались после всех остальных
Переделать массив так, чтоб все элементы, равные нулю и единице располагались после всех остальных


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

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

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