Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
PRO93
2 / 2 / 1
Регистрация: 31.10.2012
Сообщений: 96
1

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

16.05.2013, 12:18. Просмотров 824. Ответов 2
Метки нет (Все метки)

Сформировать массив из 100 случайных чисел. Напечатать сначала все положительные, а затем все отрицательные числа.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 12:18
Ответы с готовыми решениями:

Напечатать сначала все отрицательные, а затем все остальные элементы массива
Сформировать массив из 200 случайных чисел. Напечатать сначала все отрицательные, а затем все...

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

Изменить массив, чтобы сначала располагались все отрицательные элементы, затем положительные, а потом нули
Нужно решение задачи по СИ: Изменить порядок следования элементов в массиве так, чтобы сначала...

В файле расположить сначала все положительные числа, а затем отрицательные
Дан файл целых чисел. Нулевых компонент в файле нет. Число отрицательных компонент равно числу...

Вывести сначала все отрицательные а затем все остальные числа массива
Дана задача: Дан массив из 100 чисел..вывести сначала все отрицательные а затем все остальные.....

2
ZeR_0
117 / 109 / 78
Регистрация: 30.01.2013
Сообщений: 297
16.05.2013, 13:22 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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define n 100
int main(){
    srand(time(0));
 
    int array_a[n];
 
    for(int i = 0; i < n; i++){
        array_a[i] = rand()%10 - 4;
        printf("%d ", array_a[i]);
    }
    printf("\n\n");
 
    for(int i = 0; i < n; i++)
        if(array_a[i] >= 0)
            printf("%d ", array_a[i]);
    for(int i = 0; i < n; i++)
        if(array_a[i] < 0)
            printf("%d ", array_a[i]);
    printf("\n\n");
 
    return 0;
}
Добавлено через 12 секунд
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define n 100
int main(){
    srand(time(0));
 
    int array_a[n];
 
    for(int i = 0; i < n; i++){
        array_a[i] = rand()%10 - 4;
        printf("%d ", array_a[i]);
    }
    printf("\n\n");
 
    for(int i = 0; i < n; i++)
        if(array_a[i] >= 0)
            printf("%d ", array_a[i]);
    for(int i = 0; i < n; i++)
        if(array_a[i] < 0)
            printf("%d ", array_a[i]);
    printf("\n\n");
 
    return 0;
}
1
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10295 / 6178 / 1554
Регистрация: 25.07.2009
Сообщений: 11,761
16.05.2013, 14:32 3
Лучший ответ Сообщение было отмечено PRO93 как решение

Решение

В два прохода - это не по-джедайски. Если не заморачиваться тем, что отрицательные выводятся задом на перёд, так интереснее:
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>
 
#define NUMBER_OF_ELEMENTS (20)
#define MIN_VALUE (-5)
#define MAX_VALUE (5)
 
void fill(int * array, size_t count, int min, int max) {
    while ( count-- )
        *array++ = rand() % ( max - min + 1) + min;
}
 
void dump_pos_neg(const int * array, const size_t count) {
    if ( count ) {
        if ( *array < 0 ) {
            dump_pos_neg(array + 1, count - 1);
            printf("%d ", *array);
        }
        else {
            printf("%d ", *array);
            dump_pos_neg(array + 1, count - 1);
        }
    }
}
 
void dump(const int * array, size_t count) {
    while ( count-- )
        printf("%d%c", *array++, ( count ) ? ' ' : '\n');
}
 
int main(void) {
    int array[NUMBER_OF_ELEMENTS];
    
    srand(time(NULL));
    
    fill(array, NUMBER_OF_ELEMENTS, MIN_VALUE, MAX_VALUE);
    
    dump(array, NUMBER_OF_ELEMENTS);
    dump_pos_neg(array, NUMBER_OF_ELEMENTS);
    printf("\n");
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 14:32

Создать массив В, в который переписать по порядку сначала все положительные, а потом все отрицательные элементы
Добрый вечер! есть 2 несложные задачи, помогите, пожалуйста решить: Вот одна из них Задан...

Расположить в массиве сначала положительные, а затем отрицательные элементы исходного массива
Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z(30) А вот...

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


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

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

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