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

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

Войти
Регистрация
Восстановить пароль
 
Yalovick
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 61
#1

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

24.06.2012, 23:47. Просмотров 283. Ответов 3
Метки нет (Все метки)

Необходимо удалить элементы массива, находящихся в данном промежутке [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++
C++ Найти ошибку
найти ошибку:) C++
C++ В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде)
Найти ошибку C++
C++ Найти сумму первых n-четных натуральных чисел (найти ошибку)
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
5410 / 4806 / 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     Найти ошибку
Ответ Создать тему
Опции темы

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