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

Сформировать массив, у которого вначале расположены элементы массива А с нечетными индексами, затем с четными

10.11.2016, 22:28. Показов 2733. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив А(20). Найти максимальный элемент среди положительных элементов массива А и сформировать массив Р(20), у которого вначале расположены элементы массива А с нечетными индексами, затем с четными.
как сделать на с++? голова не варит вообще уже
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2016, 22:28
Ответы с готовыми решениями:

Вывести вначале элементы массива с четными индексами, а затем - с нечетными.
1. Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем - с нечетными. 2. Багаж пассажира характеризуется...

Вначале заполнить массив элементами с четными индексами, а затем - с нечетными.
прошу помощи дан массив a, заполнить массив b элементами масива а следующим образом: вначале заполнить элементами с четными индексами,...

Переписать в массив вначале все элементы исходного массива с четными номерами, а затем — с нечетными
Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с...

16
71 / 55 / 24
Регистрация: 28.03.2016
Сообщений: 171
10.11.2016, 23:17
Это две задачи, или нужно все выполнить в одном цикле?
Каков тип элементов массива?
C++
1
2
3
4
int x = 0;
    for (int i = 0; i < 20; ++i)
        if (A[i] > x)
            x = A[i];
Это первое. "x" будет максимальным среди положительных или нулем, если положительных нет.

Второе:
C++
1
2
3
4
5
int i = 0;
    for (; i < 10; ++i)
        P[i] = A[i*2];
    for (; i < 20; ++i)
        P[i] = A[(i-10)*2 + 1];
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
10.11.2016, 23:20  [ТС]
Да вот именно что в одном цикле(((( а я уже туплю, а завтра сдавать(только можно полное написание?

Добавлено через 1 минуту
Да ничего не дано больше(((( ни типа, ничего(((
0
71 / 55 / 24
Регистрация: 28.03.2016
Сообщений: 171
10.11.2016, 23:24
Так запихните все это в один цикл.
C++
1
2
3
4
5
6
7
8
9
10
int x = 0;
for (int i = 0; i < 20; ++i)
{
    if (i < 10)
        P[i] = A[i*2];
    else
        P[i] = A[(i-10)*2 + 1];
    if (A[i] > x)
        x = A[i];
}
Полное написание чего?
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
10.11.2016, 23:27  [ТС]
с этим циклом, полное написание проги(пожалуйстаааааааааааааа(((

Добавлено через 1 минуту
и можно еще вопросик?
0
71 / 55 / 24
Регистрация: 28.03.2016
Сообщений: 171
10.11.2016, 23:29
Цитата Сообщение от Юлия254 Посмотреть сообщение
и можно еще вопросик?
Можно мне вопросик?
Массив A задан, вводится с консоли, или еще как?
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
10.11.2016, 23:31  [ТС]
я написала прогу, не могли бы вы проверить?
Дан массив действительных чисел а1,...,а50. Удалить из него те элементы, которые равны максимальному и минимальному элементам. (это задание)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main()
{
    const int n = 50;
    int mas[n], i, imin = 1, imax = 50;
    for(i = 1; i < n; ++i)
        std::cin>>mas[i];
    for(i = 50; i < n; ++i)
    {
        if(mas[i] > mas[imax])
            imax = 50;
        if(mas[i] < mas[imin])
            imin = 1;
    }
    for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++)
        mas[i] = mas[i + i];
    for(i = (imin > imax) ? imin : imax; i < n; ++)
        mas[i] = mas[i + i]; 
    return 0;   
}
0
71 / 55 / 24
Регистрация: 28.03.2016
Сообщений: 171
10.11.2016, 23:48
Вашу вторую задачу написал бы как минимум вот так
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
const int n = 50;
double mas[n];
for(int i = 1; i < n; ++i)
    std::cin >> mas[i];
 
double min = mas[0], max = mas[0];
 
for(int i = 0; i < n; ++i)
{
    if(mas[i] > max)
        max = mas[i];
    if(mas[i] < min)
        min = mas[i];
}
 
int end = n;
for(int i = 0; i < end; ++i)
{
    if ((mas[i] == min) || (mas[i] == max))
    {
        for (int j = i; j < end - 1; ++j)
            mas[j] = mas[j+1];
        --end;
    }
}
 
for (int i = 0; i < end; ++i)
    std::cout << mas[i] << ' ';
1) числа у вас int, а по условию вещественные
2) если вы запоминаете позиции минимального и максимального, потом неудобно удалять
3) почему второй цикл for(i = 50; i < n; ++i) у вас i = n = 50 он не разу не выполнится
4) почему изначально imin = 1, imax = 50 неясно от слова вообще
5) последние два цикла вообще непонятные и в VS12 не кампилятся даже.
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
10.11.2016, 23:50  [ТС]
я просто самоучка( и пытаюсь учиться программировать( читаю много но многое не понимаю( спасибо вам большое))))))
0
71 / 55 / 24
Регистрация: 28.03.2016
Сообщений: 171
10.11.2016, 23:51
Цитата Сообщение от Юлия254 Посмотреть сообщение
завтра сдавать
Цитата Сообщение от Юлия254 Посмотреть сообщение
я просто самоучка

заставлять пользователя вводить 50 чисел с консоли - очень спорно
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
10.11.2016, 23:53  [ТС]
ну я сдаю преподавателю. но не учусь! я работаю, и договорилась, чтобы сдавать. а он проверял
0
59 / 54 / 34
Регистрация: 18.04.2014
Сообщений: 122
11.11.2016, 01:42
Юлия254,
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
 
using namespace std;
 
int main(int argc, char **argv) {
 
    srand(time(NULL));
 
    const int LEN = 20;
    int a[LEN], p[LEN];
    int max = 0;
 
    // заполняем массив случайными числами
    for (int i = 0; i < LEN; ++i) {
        a[i] = (rand() - RAND_MAX / 2) % LEN;
    }
 
    for (int i = 0; i < LEN; ++i) {
        if (a[i] > 0 && a[i] > max) { // определяем максимум
            max = a[i];
        }
        if ((i + 1) % 2 != 0) { // если нечетный
            p[i / 2] = a[i];
        } else {
            p[(i + LEN) / 2] = a[i];
        }
    }
 
    cout << "Исходный массив A(20): ";
    for (int i = 0; i < LEN; ++i) {
        cout << a[i] << " ";
    }
    cout << endl;
    cout << "Максимальное число среди положительных: ";
    cout << max;
    cout << endl;
 
    cout << "Массив P(20): ";
    for (int i = 0; i < LEN; ++i) {
        cout << p[i] << " ";
    }
    return 0;
}
0
6 / 6 / 2
Регистрация: 26.01.2016
Сообщений: 29
11.11.2016, 08:25
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
#include <iostream>
using namespace std;
int main()
{
setlocale(0, "");
int const n=20; // количество элементов массива
int a[n]; 
int p[n];
int max=0; //максимальный элемент
int j=0;//счетчик второго массива
cout<<"Изначальный массив: "<<endl;
for (int i = 0; i < n; i++)
    {
    a[i] = (rand() - RAND_MAX / 2) % n; //заполнение массива
    cout<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"Максимальный положительный элемент массива: ";
for (int i = 0; i < n; i++)
    {
    if  (a[i] > 0 && a[i] > max) //поиск максимального элемента
        max = a[i];
    }
        cout<<max<<endl;
for (int i = 0; i < n; i++)
    {
    if ((i + 1) % 2 == 1)
        
      { p[j] = a[i];
        j++; }
        
    }                               //преобразование массива 
for (int i = 1; i < n; i++)
    {
    if (i % 2 == 1)
 
      { p[j] = a[i];
         j++; }
 
    }
cout<<"Преобразованный массив: "<<endl;
for (int i = 0; i < n; i++)         //вывод преобразованного массива
cout<<p[i]<<" " ;
cout<<endl;
system("pause");
return 0;
}
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
11.11.2016, 09:57
Циклом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int m;
bool f;
int a[20];
 
f = false;
for (int i = 0; i < 20 && !f; ++i)
    if (a[i] > 0)
    {
        m = a[i];
        f = true;
    }
 
if (!f)
{
    // нет положительных элементов
}
else
    for (int i = 0; i < 20; ++i)
        if (a[i] > 0 && a[i] > m)
            m = a[i];
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.11.2016, 12:07
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <numeric>
 
int main()
{
    using container = std::array<int, 20>;
    auto print = [](const container &c)
    {
        std::copy(c.cbegin(), c.cend(), std::ostream_iterator<container::value_type>(std::cout, " "));
        std::cout << std::endl;
    };
    container A, P;
    std::iota(A.begin(), A.end(), 0);
    print(A);
    std::cout << "Max: " << *std::max_element(A.cbegin(), A.cend()) << std::endl;
    for (int i=0; i < A.size(); i++)
        P[i/2 + A.size()/2 * !(i&1)] = A[i];
    print(P);
}
1
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28048 / 15784 / 983
Регистрация: 15.09.2009
Сообщений: 67,753
Записей в блоге: 78
11.11.2016, 18:13
Юлия254, прекратите дублировать темы.
0
1 / 1 / 0
Регистрация: 10.11.2016
Сообщений: 12
11.11.2016, 18:15  [ТС]
Спасибо! А можете на си еще написать? Очень нужно(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2016, 18:15
Помогаю со студенческими работами здесь

Записать в новый массив сначала элементы исходного массива с четными, затем с нечетными индексами
Из одномерного массива А сформировать одномерный массив В, записав в него сначала элементы массива А, иемющие четные индексы, потом-...

Вывести вначале элементы массива с четными индексами, а потом - с нечетными
Дан массив A размера N (размерность массива вводится с клавиатуры, элементы массива заполняются случайными целыми числами). Вывести вначале...

Сформировать новый массив из элементов исходного с четными, а затем с нечетными индексами
Уважаемые форумчане, помогите пожалуйста решить задачу. Завтра сдавать, а я никак не могу найти решение и тем более решить. Заранее...

Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй нечетные элементы с четными индексами
Задан массив размером K. Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй...

Переписать в новый массив B вначале все элементы с четными номерами, а затем — с нечетными
Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с...


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

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

Новые блоги и статьи
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru