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

Дан массив A(n); все положительные его элементы поместить в начало массива B(n), а все отрицательные - в P(n)

12.04.2020, 23:06. Показов 1233. Ответов 3
Метки си (Все метки)

Код работает через раз,то прваильно, то нет. Hе знаю в чем ошибка
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
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    
    int n;
    printf("Введiть розмiр масиву: ");
    int A[n], B[n], C[n];
    
    scanf("%d", &n);
        srand(time(NULL));
        for (int i = 0; i<n; i++)
        {
            A[i]=rand()%10-4; 
            printf("%1d ", A[i]);
        }
int j=0, k=0;   
        for (int i = 0; i<n; i++)
            {
                if(A[i] > 0)
                {
                    B[j]=A[i];
                    j++;    
                }
                else if(A[i]<0)
                {
                
                    C[k]=A[i];
                    k++;
                }
            }
            
    printf("\n");
     for(int i=0; i<j;i++) 
 {  
 printf("%d ",B[i]); 
 } 
    printf("\n");
        for(int i = 0; i<k; i++)
        {
            printf("%d ", C[i]);
        } 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2020, 23:06
Ответы с готовыми решениями:

Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес
Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все...

65. (7 б.) Дан массив A(n). Все положительные его элементы поместить в начало массива B(n), а отрицательные элементы – в начало массива C(n). Подсчита
65. (7 б.) Дан массив A(n). Все положительные его элементы поместить в начало массива B(n), а...

Дан числовой массив A размера N. Все четные его элементы поместить в начало массива B, а нечетные элементы - в конец
#include &lt;stdio.h&gt; #include &lt;malloc.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; int main (int...

Все положительные элементы массива поместить в начало массива B, а отрицательные — в начало C
помогите не как не могу понять как записать код для задачи (Дан числовой массив A размера N. Все...

3
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
13.04.2020, 00:34 2
Массивы через new создавай.
0
114 / 71 / 48
Регистрация: 16.11.2012
Сообщений: 257
13.04.2020, 01:02 3
Лучший ответ Сообщение было отмечено dronkdil как решение

Решение

В СИ нельзя так работать с массивами. Поправил твой код. Можешь убрать #define _CRT_SECURE_NO_WARNINGS.

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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int *A,*B,*C;  // указатель на int для массива
    int n;
    //int  A[n], B[n], C[n];
    printf("Введите размер массива: ");
    scanf("%d", &n);
 
    // Выделение памяти
    A = (int*)malloc(n * sizeof(int));
    B = (int*)malloc(n * sizeof(int));
    C = (int*)malloc(n * sizeof(int));
 
    srand(time(NULL));
    printf("Массив А: ");
    for (int i = 0; i<n; i++)
    {
        A[i] = rand() % 10 - 4;
        printf("%1d ", A[i]);
    }
    int j = 0, k = 0;
    for (int i = 0; i<n; i++)
    {
        if (A[i] >= 0)
        {
            B[j] = A[i];
            j++;
        }
        else if (A[i]<0)
        {
 
            C[k] = A[i];
            k++;
        }
    }
 
    printf("\n");
    printf("Массив B: ");
    for (int i = 0; i<j; i++)
    {
        printf("%d ", B[i]);
    }
    printf("\n");
    printf("Массив C: ");
    for (int i = 0; i<k; i++)
    {
        printf("%d ", C[i]);
    }
 
        free(A);
    free(B);
    free(C);
    printf("\n");
    system("pause");
}
0
фрилансер
4171 / 3579 / 799
Регистрация: 11.10.2019
Сообщений: 9,639
13.04.2020, 12:35 4
dronkdil, лови халяву

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
#include<stdio.h>
#include<time.h>
#include<vector>
#include<algorithm>
int main()
{
    printf("Введiть розмiр масиву: ");
    int n;
    scanf("%d", &n);
 
    std::vector<int> A; A.reserve(n);
    std::vector<int> B; B.reserve(n);
    std::vector<int> C; C.reserve(n);
    
    srand(time(NULL));
    for (int i = 0; i<n; i++)
    {
        A.emplace_back(rand()%10-4);
    }
 
    for(auto& item:A)
    {
        (item>=0) ? B.emplace_back(item) : C.emplace_back(item);
    }
 
    printf("\n");
 
    printf("A: "); for(auto item:A){printf("%d ",item);} printf("\n");
    printf("B: "); for(auto item:B){printf("%d ",item);} printf("\n");
    printf("C: "); for(auto item:C){printf("%d ",item);} printf("\n");
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2020, 12:35
Помогаю со студенческими работами здесь

Перенести в начало массива все его отрицательные элементы, затем нулевые и в конце все положительные
Перенести в начало массива А(n) все его отрицательные элементы, затем нулевые и в конце все...

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n)
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить...

Дан массив А из К элементов. Перенести в массив B все положительные элементы массива А, а в массив C все отрицательные
Здравствуйте! Кто может, помогите пожалуйста с заданием. Понимаю, как написать это на Паскале, но...

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

Все отрицательные цифры поместить в начало массива, а положительные в конец
4. Дан массив положительных и отрицательных чисел. Переписать массив так, чтобы все отрицательные...

Сдвинуть все отрицательные элементы с в начало массива,сохраняя их порядок между собой, а все положительные элементы
Дан целочисленный список с количеством элементов 2n, не содержащий нулей. Сдвинуть все...


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

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

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