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

Найти ошибку - C++

Восстановить пароль Регистрация
 
Yalovick
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 61
24.06.2012, 23:47     Найти ошибку #1
Необходимо удалить элементы массива, находящихся в данном промежутке [a,b]

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
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <time.h>
using namespace std;
 
void DeleteElement(int* arr, size_t length, size_t pos) {
 
    for( ; pos < length - 1; ++pos) arr[pos] = arr[pos + 1];
}
 
 
int main() 
{
    
        int e[10];                                       
        int i;
        int a;
        int b;
srand(time(0));     
   for (i=0; i<10; i++)
  {
     e[i] = 5 - rand() % 10;
      cout << e[i] << " ";//вывели на экран все значения
  }
        
cout << "Vvedite a:";
cin >>a;
cout <<"Vvedite b:";    
cin >>b;  
for (i=0;i<10;i++)
            if(e[i]>=a && e[i]<=b)
               DeleteElement(e,10,i);
cout<<e[i]<<" ";
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2012, 23:47     Найти ошибку
Посмотрите здесь:

Найти ошибку C++
найти ошибку C++
C++ Найти ошибку
найти ошибку C++
найти ошибку? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
25.06.2012, 01:17     Найти ошибку #2
Удалить элемент ? Или присвоить им 0 ?
Yalovick
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 61
25.06.2012, 01:53  [ТС]     Найти ошибку #3
Удалить элементы и записать массив без удаленных элементов
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.06.2012, 03:58     Найти ошибку #4
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
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <time.h>
using namespace std;
 
void DeleteElement(int* arr, size_t length, size_t pos) 
{
    for( ; pos < (length - 1); ++pos) 
    {
        arr[pos] = arr[pos + 1];
    }
}
 
int main() 
{
    int e[10];                                       
    int i, a, b;
    
    srand(time(0));     
    for (i = 0; i < 10; i++)
    {
        e[i] = 5 - rand() % 10;
        cout << e[i] << " "; // вывели на экран все значения.
    }
        
cout << "\n\nVvedite a: ";
cin >> a;
cout << "Vvedite b: ";    
cin >> b; 
 
int n = 10; // счётчик количества чисел в массиве.
for (i = 0; i < n; i++)
{
    while (e[i] >= a && e[i] <= b) // если число попадает в диапазон, то вызываем функцию "удаления".
    {
         if ((n - i) == 1) // если число последнее, то уменьшаем счётчик чисел на 1 и выходим.
         {
            n--; 
            break;
         }
         DeleteElement(e, n, i);
         n--; // после каждого "удаления" уменьшаем счётчик.
    }
}
 
cout << endl;
for (i = 0; i < n; i++) //выводим то, что должно остаться.
{
    cout << e[i] << " ";
}
 
system("pause");
return 0;
}
Yandex
Объявления
25.06.2012, 03:58     Найти ошибку
Ответ Создать тему
Опции темы

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