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

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

Восстановить пароль Регистрация
 
galim95
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 9
05.01.2014, 18:11     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически #1
1)сформировать одномерный массив целых чисел
2)удалить первый элемент с заданным значением
3)сдвинуть массив циклически на К элементов вправо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 18:11     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически
Посмотрите здесь:

Удалить первый элемент с заданным значением. C++
Циклически сдвинуть массив на 1 элемент влево C++
Одномерный массив. Сдвинуть элементы циклически на n позиций влево C++
Сформировать одномерный массив. Удалить из него элемент с заданным номером C++
C++ Сформировать одномерный массив. Удалить из него К элементов, начиная с заданного номера, добавить элемент с заданным ключом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
05.01.2014, 20:37     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически #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
#include <stdlib.h>
#include <time.h>
#include <iostream>
 
using namespace std;
 
inline void Move(int* mas, int N, int k){
    int tMas[k];
    for(int i=N-k, j=0; j<k; ++i)
        tMas[j++]=mas[i];
    for(int i=N-1; i>=k; --i)
        mas[i]=mas[i-k];//
    for(int i=0; i<k; ++i)
        mas[i]=tMas[i];
    for(int i=0; i<N; ++i)
        cout << mas[i] << " ";
    cout << endl;
}
 
inline void Delete(int* mas, int &N, int key){
    int i=0;
    for(i=0; i<N; ++i){
        if(mas[i]==key){
            break;
        }
    }
    if(i==N){
        cout<<"ÝëåìåГ*ГІ Г*ГҐ Г*Г*éäåГ* Гў Г¬Г*Г±Г±ГЁГўГҐ" << endl;
        return;
    }
    while(i<N-1){
        mas[i++]=mas[i+1];
    }
    --N;
    for(i=0; i<N; ++i)
        cout << mas[i] << " ";
    cout << endl;
}
 
int main()
{    
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
    int* mas;
    int N;
    int key;
    int k;
    cout << "Ââåäèòå Г°Г*çìåð Г¬Г*Г±Г±ГЁГўГ*: ";
    cin >> N;
    mas = new int[N];
    for(int i=0; i<N; ++i){
        mas[i]=rand()%100;
        cout << mas[i] << " ";
    }
    cout << endl;
    cout << "Ââåäèòå ГіГ¤Г*ëÿåìûé ýëåìåГ*ГІ: ";
    cin >> key;
    Delete(mas, N, key);
    cout << "Ââåäèòå ñäâèã: ";
    cin >> k;
    Move(mas, N, k);
    system("PAUSE");
    return 0;
}


Добавлено через 2 минуты
Еще нужно добавить строчки
C++
1
2
delete mas;
mas=NULL;
перед return 0;
galim95
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 9
05.01.2014, 22:11  [ТС]     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически #3
Извините я не знаю, такое задание
galim95
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 9
16.01.2014, 23:28  [ТС]     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически #4
а ты можешь блок схему сделать?пожалуйста
Yandex
Объявления
16.01.2014, 23:28     Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически
Ответ Создать тему
Опции темы

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