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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
#1

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

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

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

Спасибо всем...кто поможет))))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2010, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из массива все элементы с чётными индексами (C++):

Вывести на консоль элементы массива с чётными индексами - C++
1)Вывести эл-ты с четными индексами 2)перевернуть массив (местами индексы поменять) 3) массив 20 случайных чисел

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

Вывести на консоль элементы заданного целочисленного массива с чётными индексами - C++
Дан массив, состоящий из целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива, номера...

Определить, делится ли сумма элементов массива с чётными индексами на сумму элементов с нечётными индексами - C++
Привет Ребята! помогите с решением! в долгу не останусь) задано натуральное число n и массив и n целых чисел a0,a1,...,an-1. Написать...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
10.03.2010, 23:40 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
11.03.2010, 00:35 #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Нужно скорее всего на С, но это скучно...
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;
}
KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 16:45  [ТС] #4
спасибо огроменное....ща буду разбираться:))))):)

Добавлено через 1 минуту
аааа вообще т да....над на си!!!!!!!!!!!!
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
11.03.2010, 17:45 #5
KarinCHICK, ну логика точно та же останется, только вместо стандартных STL функций прийдётся свои велосипеды мастерить...
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
11.03.2010, 18:47 #6
easybudda, Я не сомневаюсь, что Каринчик без труда сможет сделать все сама.
KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 18:48  [ТС] #7
Привет!!!!плиз...помогите кто может...буду оч благодарна))))
над решить такую задачу...ток чтобы всё было в одной проге на СИ или СИ++:
1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его.
2.Удалить из него все элементы с чётными индексами.
3.Добавить К элементов в конец массива
4.Выполнить такую перестановку в массиве: Поменять местами минимальный и максимальный элементы
5.Выполнить поиск первого отрицат.элемента
6.Отсортировать массив методом простого включения.

Спасибо всем...кто поможет))))
KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 18:54  [ТС] #8
нет не сможет....ей на завтра....на это вся ночь уйдёт(((((((((
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.03.2010, 20:30 #9
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;
}
Только проверьте работает ли.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
11.03.2010, 20:48 #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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);
}
KarinCHICK
0 / 0 / 0
Регистрация: 10.03.2010
Сообщений: 15
11.03.2010, 21:09  [ТС] #11
аааааааа спасибо,солнце,моей благодарности нет предела))))))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2010, 21:09
Привет! Вот еще темы с ответами:

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

Удалить из массива, в котором все элементы различны, максимальный и минимальный элементы - C++
Удалить из массива, в котором все элементы различны: а) максимальный элемент б) минимальный элемент Добавлено через 4 минуты ...

Из целочисленного массива Х все четные элементы записать в массив Y. Удалить в массивах максимальные элементы - C++
Из целочисленного массива Х(N) все четные элементы записать в массив Y(k). Удалить в массивах максимальные элементы. В программе написать...

Удалить из массива все элементы,в записи которых все цифры различны. - C++
дана последовательность целых чисел. Удалить из массива все элементы,в записи которых все цифры различны. при решении задачи нужно...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2010, 21:09
Ответ Создать тему
Опции темы

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