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

Лабораторная по массивам - C++

Восстановить пароль Регистрация
 
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.12.2010, 00:16     Лабораторная по массивам #1
Дан одномерный массив А, состоящий из N элементов. Переписать в одномерный массив В все элементы, заключенные между максимальным и минимальным значениями.
Прошу помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 00:16     Лабораторная по массивам
Посмотрите здесь:

По массивам... C++
C++ Лабораторная по массивам
Вопросы по массивам C++
Подскажите по массивам C++
Учебник по массивам C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 00:39     Лабораторная по массивам #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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
 
void enter_element(int *a, size_t n)
{
    for(int i = 0; i < n; ++i)
    {
        std::cout << "Arr[" << i << "] = ";
        std::cin >> a[i];
    }
}
 
void new_arr(int *a, size_t n, int ind_min, int ind_max, int cnt, int *b)
{
    int j = 0;
    if(ind_min < ind_max)
    {
        for(int i = ind_min + 1; i < ind_max; ++i)
            b[j++] = a[i];
    }
    else
    {
        for(int i = ind_max + 1; i < ind_min; ++i)
            b[j++] = a[i];
    }
}
 
int main()
{
    int *a;
    size_t n;
 
    std::cout << "n -> ";
    std::cin >> n;
 
    a = new int[n];
    enter_element(a, n);
 
    int ind_min = 0, ind_max = 0, cnt = 0;
 
    for(int i = 0; i < n; ++i)
        if(a[ind_min] > a[i])
            ind_min = i;
 
    for(int i = 0; i < n; ++i)
        if(a[ind_max] < a[i])
            ind_max = i;
 
    if(ind_min < ind_max)
    {
        for(int i = ind_min +1; i < ind_max; ++i)
            ++cnt;
    }
    else
    {
        for(int i = ind_max +1; i < ind_min; ++i)
            ++cnt;
    }
 
    int *b = new int[cnt];
    new_arr(a, n, ind_min, ind_max, cnt, b);
 
    for(int i = 0; i < cnt; ++i)
    {
        std::cout << b[i] << ' ';
    }
}
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.12.2010, 00:48     Лабораторная по массивам #3
При вводе такого
15
3 9 4 9 1 9 5 2 5 1 4 6 9 5 3
ответ какой то не очень получился?????
4 9
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.12.2010, 00:52  [ТС]     Лабораторная по массивам #4
трудная задачка
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.12.2010, 00:53     Лабораторная по массивам #5
Цитата Сообщение от Спиридонов Иван Посмотреть сообщение
Переписать в одномерный массив В все элементы, заключенные между максимальным и минимальным значениями.
А тебе как нужно ! что-бы первым max и min ?
или каждом max и min ?

а еще разница есть min и max или max и min?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 00:54     Лабораторная по массивам #6
VASSUV, Впринцыпе все верно - макс будет - 9, мин - 1, соответсвенно - 3 9 4 9 1 9 5 2 5 1 4 6 9 5 3
Если будет много мин и макс, код ка бэ возмет те, которые будут имет минимальный индексы.
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.12.2010, 00:58  [ТС]     Лабораторная по массивам #7
Цитата Сообщение от VASSUV Посмотреть сообщение
А тебе как нужно ! что-бы первым max и min ?
или каждом max и min ?

а еще разница есть min и max или max и min?
между максимальным и минимальным....

Добавлено через 2 минуты
программа получается берет первый максимальный и первый минимальный?
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.12.2010, 00:58     Лабораторная по массивам #8
Цитата Сообщение от Спиридонов Иван Посмотреть сообщение
между максимальным и минимальным....
А осталные подмассивы не печатать которые заключены тоже между макс. и мин.???
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.12.2010, 01:01  [ТС]     Лабораторная по массивам #9
Цитата Сообщение от VASSUV Посмотреть сообщение
А осталные подмассивы не печатать которые заключены тоже между макс. и мин.???
то есть 3 9 4 9 1 9 5 2 5 1 4 6 9 5 3 ???
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.12.2010, 01:03     Лабораторная по массивам #10
да! точно так!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 18:52     Лабораторная по массивам
Еще ссылки по теме:

C++ Задача по массивам
C++ по массивам
C++ Задачи по массивам

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

Или воспользуйтесь поиском по форуму:
incognito
 Аватар для incognito
148 / 141 / 1
Регистрация: 08.04.2010
Сообщений: 979
17.12.2010, 18:52  [ТС]     Лабораторная по массивам #11
Дана матрица символов. Написать программу обращения к каждому элементу этой матрицы, если считать, что имена строк - буквы алфавита (по возрастанию), а имена столбцов целые числа (по возрастанию).
Помогите, пожалуйста, написать на языке СИ.
Yandex
Объявления
17.12.2010, 18:52     Лабораторная по массивам
Ответ Создать тему
Опции темы

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