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

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

Войти
Регистрация
Восстановить пароль
 
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
#1

Массив - C++

16.11.2010, 17:41. Просмотров 750. Ответов 11
Метки нет (Все метки)

1.(одномерный) В заданном массиве найти самую маленькую серию подряд стоящих нечетных элементов.
2. (многомерный) Удалить из массива целых положительных элементов совершенные числа. Создать функции определения совершенного числа и удаления элементов массива.
Будьте добры помогите, сегодня тока начали изучать но я что то не понял
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2010, 17:41     Массив
Посмотрите здесь:

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j>3, то Aij=i+j, иначе...

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив? - C++ Builder
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив, из которого по заданным условиям...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.11.2010, 17:48     Массив #2
Цитата Сообщение от Serjant0007 Посмотреть сообщение
В заданном массиве найти самую маленькую серию подряд стоящих нечетных элементов.
а что надо вывести в итоге?
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
16.11.2010, 21:45  [ТС]     Массив #3
Цитата Сообщение от go Посмотреть сообщение
а что надо вывести в итоге?
как я понял например: 1 2 3 4 5 6 -1 2 3 -2 -5 -6 -8 и вот самая маленькая серия будет число -1
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.11.2010, 22:29     Массив #4
1, 3, 5, -1, 3, -5

это всё серии нечётных элементов

а если бы там было 1, 3 3 3, 5 67 - три серии нечётных элементов, какая из них самая маленькая ?
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
16.11.2010, 22:31  [ТС]     Массив #5
думаю что первая самая маленькая
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.11.2010, 22:48     Массив #6
а из этих 1, 3, 5, -1, 3, -5 ?
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
16.11.2010, 22:54  [ТС]     Массив #7
хм.....может быть все? Или -1
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.11.2010, 23:01     Массив #8
почему -1
у тебя должна быть одна стратегия для всех видов серий

а для таких 1 1 1, 3 ?

и все быть тоже не могут
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
16.11.2010, 23:06  [ТС]     Массив #9
эти задачи нас когда нить добьют, мы всю пару сидели решали их так ничего путного не сделали.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.11.2010, 05:11     Массив #10
перед тем как писать код, надо понять, что нужно написать
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
17.11.2010, 08:10  [ТС]     Массив #11
ды я знаю это))) Ну ладно пускай пару ставит. Спасибо большое за то что хотели помочь))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2010, 03:33     Массив
Еще ссылки по теме:

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...

Вывести массив а(i, j), одномерный массив b(i) и полученный массив АВ с помощью функции Cells - VBA
Задача 1 Написать программу для решения следующей задачи: для числа n вводимого с клавиатуры (с помощью функции InputBox())...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...


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

Или воспользуйтесь поиском по форуму:
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
18.11.2010, 03:33     Массив #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
27
28
29
30
#include <stdio.h>
 
/* находит индекс и длину кратчайшей серии нечётных чисел */
int main(void)
{
    int n[10] = { 1, 3, 1, 3, 2, 3, 7, 8, -1, 9 };
    int i, count;
    int minseqlen, minseqind;
    
    minseqlen = sizeof n / sizeof n[0];
    minseqind = -1;
    
    count = 0;
    for (i = 0; i < 10; i++)
        if (n[i] % 2 != 0) {
            count++;
            if (i + 1 == 10 && count < minseqlen) {
                minseqlen = count;
                minseqind = i - count + 1;
            }
        } else if (count > 0 && count < minseqlen) {
            minseqlen = count;
            minseqind = i - count;
            count = 0;
        }
 
    printf("len = %d, ind = %d" "\n", minseqlen, minseqind);
    
    return 0;    
}
Код
[guest@localhost tests]$ ./t
len = 2, ind = 5
[guest@localhost tests]$
Добавлено через 13 часов 13 минут
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
73
74
75
76
77
78
#include <stdio.h>
 
size_t condremove_array(int arr[], size_t nobj, int (*check)(int));
int isposit(int n), isnegat(int n), iseven(int n), isodd(int n);
 
int main(void)
{
    int n[10] = { 1, 3, 1, 3, -8, 3, 7, 8, -1, 9 };
    int i;
    int newsize;
 
#if 1
    printf("remove all positive:\n");
    newsize = 10 - condremove_array(n, 10, &isposit);
#endif
 
#if 0
    printf("remove all negative:\n");
    newsize = 10 - condremove_array(n, 10, &isnegat);
#endif
 
#if 0
    printf("remove all even:\n");
    newsize = 10 - condremove_array(n, 10, &iseven);
#endif
    
#if 0
    printf("remove all odd:\n");
    newsize = 10 - condremove_array(n, 10, &isodd);
#endif
    
    for (i = 0; i < newsize; i++)
        printf("%d%s", n[i], (i + 1 < newsize ? " " : "\n"));
    printf("newsize: %d" "\n", newsize);
    
    return 0;
}
 
/* удалить из массива элементы по условию */
size_t condremove_array(int arr[], size_t nobj, int (*check)(int))
{
    size_t i, j, count;
    
    for (i = 0; i < nobj - 1; i++)
        for (j = i + 1; j < nobj; j++)
            if (check(arr[i]) && !check(arr[j])) {
                int tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
    
    count = 0;
    for (i = 0; i < nobj; i++)
        if (check(arr[i]))
            count++;
    
    return count;
}
 
int isposit(int n)
{
    return n > 0;    
}
 
int isnegat(int n)
{
    return n < 0;
}
 
int iseven(int n)
{
    return n % 2 == 0;
}
 
int isodd(int n)
{
    return n % 2 != 0;
}
Код
[guest@localhost tests]$ ./t
remove all positive:
-8 -1
newsize: 2
[guest@localhost tests]$
Yandex
Объявления
18.11.2010, 03:33     Массив
Ответ Создать тему
Опции темы

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