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

Люди где то я намудрил! - C++

Восстановить пароль Регистрация
 
egorikem
 Аватар для egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
28.10.2010, 17:36     Люди где то я намудрил! #1
Вот код! Спасайте!
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
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int arr[9999],s,i,m;
    cout<<"Enter mass size: ";
    cin>>s;
    for(i=0;i<s;i++)
    {
        arr[i]= rand() % 10;
    }
    cout<<"Your mass: ";
    for (i=0;i<s;i++)
    {
        cout<<arr[i]<<" ";
    }
    cout<<"Enter element to delete: ";
    cin>>m;
    for (i=0;i<s;i++)
    {
        if (arr[i]==m)
        {
            delete [i] arr;
        }
        cout<<"\n";
        cout<<"Mass after delete: "<<arr[i]<<" ";
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 17:59     Люди где то я намудрил! #2
egorikem,
Хм. Как правильно будет подумаю. Но delete использовать сто процентов нельзя

Добавлено через 20 минут
Чисто теоретически можно двигать элементы к концу, а затем выводить s-1 элементов. Но есть проблема, больше 1 элемента не удалится.

Добавлено через 10 секунд
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
#include <iostream>
using namespace std;
int main()
{
        int *arr,s,i,m;
        cout<<"Enter mass size: ";
        cin>>s;
        arr=new int[s];
        for(i=0;i<s;i++)
        {
                arr[i]= rand() % 10;
        }
        cout<<"Your mass: ";
        for (i=0;i<s;i++)
        {
                cout<<arr[i]<<" ";
        }
        cout<<"Enter element to delete: ";
        cin>>m;
        for (i=0;i<s;i++)
        {
            if (arr[i]==m)
            {
                for(int j=i; j<s-1; ++j)
                {
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        cout<<"\n";
        cout<<"Mass after delete\n";
        for(int i=0; i<s; ++i)
            cout<<arr[i]<<' ';
        delete[] arr;
        return 0;
}
egorikem
 Аватар для egorikem
7 / 7 / 1
Регистрация: 05.10.2010
Сообщений: 137
28.10.2010, 18:00  [ТС]     Люди где то я намудрил! #3
Lavroff, Я решил!
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
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int arr[9999],s,i,m;
    cout<<"Enter mass size: ";
    cin>>s;
    for(i=0;i<s;i++)
    {
        arr[i]= rand() % 10;
    }
    cout<<"Your mass: ";
    for (i=0;i<s;i++)
    {
        cout<<arr[i]<<" ";
    }
    cout<<"Enter element to delete: ";
    cin>>m;
    for (i=0;i<s;i++)
    {
        if (arr[i]==m)
        {
            for (int j=i;j<s-1;j++)
            {
                arr[j]=arr[j+1];
            }
            s--;
        }
        cout<<"\n";
        cout<<"Mass after delete: "<<arr[i]<<" ";
    }
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 18:01     Люди где то я намудрил! #4
egorikem, ну да. по сути решается. согласен)
Yandex
Объявления
28.10.2010, 18:01     Люди где то я намудрил!
Ответ Создать тему
Опции темы

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