С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
 Аватар для KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15

Удалить из массива все элементы с чётными индексами

10.03.2010, 23:22. Показов 5173. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!!!!плиз...помогите кто может...буду оч благодарна))))
над решить такую задачу...ток чтобы всё было в одной проге:
1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его.
2.Удалить из него все элементы с чётными индексами.
3.Добавить К элементов в конец массива
4.Выполнить такую перестановку в массиве: Поменять местами минимальный и максимальный элементы
5.Выполнить поиск первого отрицат.элемента
6.Отсортировать массив методом простого включения.

Спасибо всем...кто поможет))))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2010, 23:22
Ответы с готовыми решениями:

Удалить все элементы массива с четными индексами
Всем привет. Хотелось бы получить от вас помощь..написать программу си++.. создать динамический одномерный массив,содержащий x числовых...

Удалить элементы массива с чётными индексами
Правильный ли код и как сделать так что бы правильно выводился результат? #include <iostream> using namespace std; int...

Выведите все элементы массива с четными индексами
Выведите все элементы массива с четными индексами (то есть A, A, A, ...). Формат входных данных В первой строке вводится количество...

10
 Аватар для Luna17
3 / 2 / 1
Регистрация: 09.03.2010
Сообщений: 95
10.03.2010, 23:40
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1) Заполнение массива случайными числами

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// frg.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int i, mas[n];
      printf ("Введите кол-во элементов массива\n");
      printf (" n=");
      scanf ("%i",&d);
      for (i=0; i<k; i++)
           for (j=0; j<l; j++)
        mas[i]=rand();
return 0;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
11.03.2010, 00:35
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Нужно скорее всего на С, но это скучно...
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
/*
*   1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его.
*   2.Удалить из него все элементы с чётными индексами.
*   3.Добавить К элементов в конец массива
*   4.Выполнить такую перестановку в массиве: Поменять местами минимальный и максимальный элементы
*   5.Выполнить поиск первого отрицат.элемента
*   6.Отсортировать массив методом простого включения.
*/
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
#include <cstdlib>
#include <ctime>
 
int main(){
    int n;
    std::cout << "Number of elements: ";
    std::cin >> n;
    
    // инициализация генератора случайных чисел
    srand(time(NULL));
    
    // заполнение динамического массива случайными числами и вывод
    std::vector<int> vec;
    while ( n-- )
        vec.push_back(rand() % 200 - 100);
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, "  "));
    std::cout << std::endl;
    
    // элементы с нечётными индексами проще в новый массив скопировать
    std::vector<int> odd;
    for ( std::vector<int>::const_iterator i = vec.begin(); i < vec.end(); i += 2 )
        odd.push_back(*i);
    vec = odd;
    std::cout << "Only the odd elements:" << std::endl;
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, "  "));
    std::cout << std::endl;
    
    std::cout << "Number of elements for an adding: ";
    std::cin >> n;
    while ( n-- )
        vec.push_back(rand() % 200 - 100);
    std::cout << "With new elements:" << std::endl;
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, "  "));
    std::cout << std::endl;
    
    std::cout << "Swap min and max elements:" << std::endl;
    std::swap(*(std::min_element(vec.begin(), vec.end())), *(std::max_element(vec.begin(), vec.end())));
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, "  "));
    std::cout << std::endl;
    
    // поиск первого отрицательного элемента
    std::vector<int>::iterator f = std::find_if(vec.begin(), vec.end(), std::bind2nd(std::less<int>(), 0));
    if ( f != vec.end() )
        std::cout << "First negative value is: " << *f << std::endl;
    else
        std::cout << "No negative elements found!" << std::endl;
    
    std::cout << "Ascendant sorted:" << std::endl;
    std::sort(vec.begin(), vec.end());
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, "  "));
    std::cout << std::endl;
    
    return 0;
}
1
 Аватар для KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 16:45  [ТС]
спасибо огроменное....ща буду разбираться:))))):)

Добавлено через 1 минуту
аааа вообще т да....над на си!!!!!!!!!!!!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
11.03.2010, 17:45
KarinCHICK, ну логика точно та же останется, только вместо стандартных STL функций прийдётся свои велосипеды мастерить...
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
11.03.2010, 18:47
easybudda, Я не сомневаюсь, что Каринчик без труда сможет сделать все сама.
0
 Аватар для KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 18:48  [ТС]
Привет!!!!плиз...помогите кто может...буду оч благодарна))))
над решить такую задачу...ток чтобы всё было в одной проге на СИ или СИ++:
1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его.
2.Удалить из него все элементы с чётными индексами.
3.Добавить К элементов в конец массива
4.Выполнить такую перестановку в массиве: Поменять местами минимальный и максимальный элементы
5.Выполнить поиск первого отрицат.элемента
6.Отсортировать массив методом простого включения.

Спасибо всем...кто поможет))))
0
 Аватар для KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 18:54  [ТС]
нет не сможет....ей на завтра....на это вся ночь уйдёт(((((((((
0
 Аватар для Sekt
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
11.03.2010, 20:30
2.Удалить из него все элементы с чётными индексами
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main() { 
int mass[10];
int *pocket = new int [10];
int i;
int counter=0;
bool flag = true;
for()
cin>>mass[i];
for() {
if(i%2==)flag = false;
if(flag){
pocket[counter]=mass[i];counter++;
}
flag = true;
}
for(i=0;i<counter;i++)
cout<<pocket[i];
  return 0;
}
Только проверьте работает ли.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
11.03.2010, 20:48
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

KarinCHICK, вот Вам на С, сортировка только стандартная - терпения не хватило и это самому делать.
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/*
*   1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его.
*   2.Удалить из него все элементы с чётными индексами.
*   3.Добавить К элементов в конец массива
*   4.Выполнить такую перестановку в массиве: Поменять местами минимальный и максимальный элементы
*   5.Выполнить поиск первого отрицат.элемента
*   6.Отсортировать массив методом простого включения.
*/
 
/* возвращает указатель на элемент с минимальным значением */
int* minVal(int* arr, size_t cnt){
    int min_val, *p_min_val;
 
    p_min_val = arr;
    min_val = *p_min_val;
 
    while ( --cnt ){
        if ( *(++arr) < min_val ){
            p_min_val = arr;
            min_val = *p_min_val;
        }
    }
    return p_min_val;
}
 
/* возвращает указатель на элемент с максимальным значением */
int* maxVal(int* arr, size_t cnt){
    int max_val, *p_max_val;
 
    p_max_val = arr;
    max_val = *p_max_val;
 
    while ( --cnt ){
        if ( *(++arr) > max_val ){
            p_max_val = arr;
            max_val = *p_max_val;
        }
    }
    return p_max_val;
}
 
int valCmp(const void* a, const void* b){
    return *(int*)a - *(int*)b;
}
 
int main(void){
    int n, i, j, *arr, *odd, *pMin, *pMax, *pInt;
 
    srand(time(NULL));
 
    printf("Number of array elements: ");
    if ( scanf("%d", &n) != 1 || !n )
        exit(1);
    if ( ( arr = (int*)calloc(n, sizeof(int)) ) == NULL )
        exit(1);
    printf("Array:\n");
    for ( i = 0; i < n; ++i )
        printf("%d  ", ( arr[i] = rand() % 200 - 100 ));
    printf("\n");
    /* рассчёт размера массива для копирования нечётных элементов */
    j = n / 2;
    if ( ( odd = (int*)calloc(j, sizeof(int)) ) == NULL )
        exit(1);
    for ( i = 1, pInt = odd; i < n; i += 2 )
        *pInt++ = arr[i];
    /* удалить старый массив */
    free(arr);
    arr = odd;
    n = j;
    printf("Without even indexes:\n");
    for ( i = 0; i < n; ++i )
        printf("%d  ", arr[i]);
    printf("\n");
 
    printf("Number of elements for an adding: ");
    if ( scanf("%d", &j) != 1 || !j )
        exit(1);
    if ( ( arr = (int*)realloc(arr, (n + j) * sizeof(int)) ) == NULL )
        exit(1);
    for ( i = n; i < n + j; ++i )
        arr[i] = rand() % 200 - 100;
    n += j;
    printf("With new elements:\n");
    for ( i = 0; i < n; ++i )
        printf("%d  ", arr[i]);
    printf("\n");
 
    printf("Swap min and max values:\n");
    pMin = minVal(arr, n);
    pMax = maxVal(arr, n);
    j = *pMin;
    *pMin = *pMax;
    *pMax = j;
    for ( i = 0; i < n; ++i )
        printf("%d  ", arr[i]);
    printf("\n");
    for ( i = 0; i < n && arr[i] >= 0; ++i )
        ;
    if ( i < n )
        printf("First negative value is %d\n", arr[i]);
    else
        printf("No negative values found!\n");
    printf("Ascendant sorted:\n");
    qsort(arr, n, sizeof(int), valCmp);
    for ( i = 0; i < n; ++i )
        printf("%d  ", arr[i]);
    printf("\n");
 
    free(arr);
    exit(0);
}
1
 Аватар для KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 21:09  [ТС]
аааааааа спасибо,солнце,моей благодарности нет предела))))))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2010, 21:09
Помогаю со студенческими работами здесь

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

Найти min среди элементов массива с четными индексами, все элементы до него расместить в памяти динамически
Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: A2, A4, A6, … . Все элементы массива до минимального...

Массив: Удалить все элементы с четными индексами
В массиве удалить все элементы с четными индексами. Прошу помочь,так как эту тему не понимаю

В процедуре удалить из исходного массива элементы с четными индексами
- Ввести произвольную размерность одномерного массива в интервале 1..10. - Ввести данные (тип данных указан в вариантах) с клавиатуры в...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru