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

Удаление элементов массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ф-ция * http://www.cyberforum.ru/cpp-beginners/thread126369.html
Написать ф-цию get_int(filename,k) целого типа, возвращающую k-й элемент файла целых чисел с именем filename(эл-ты нумеруются от 0). Если файл несуществует или несодержит k-го элемента, то ф-ция возвращает 0. С помощью этой ф-ции вывести пять элементов данного файла с указанными номерами.
C++ Написать прогу с элементарной функцией y=x*x Написать прогу с элементарной функцией y=x*x. http://www.cyberforum.ru/cpp-beginners/thread126367.html
Дано предложение. Сколько слов является перевертышами C++
Дано предложение. Сколько слов является перевертышами и будет ли это число четным.
C++ Посчитать количество слов в предложении
Дано предложение заканчивающееся '.' '!' '?'. Разделитель слов - пробел. Посчитать кол-во слов и определить есть ли слова перевертыши.
C++ Предложение http://www.cyberforum.ru/cpp-beginners/thread126361.html
Дано предложение, определить кол-во слов в нем и к-во слов "кот".
C++ Тяжело ли Вам программировать на C++? Тяжело ли Вам программировать на с++?:rofl: подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
17.05.2010, 10:27     Удаление элементов массива
Гамбит, ваша проблема в размерности массива - сдвинув массив на 1 элемент вперед, вы не уменьшаете его размер, в итоге происходит зацикливание. Раз уж вы ввели переменную s, так и используйте ее
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
int i, j,x[n]={1,2,1,2,1,2,3,4,5,6},k,t,p,s=n, b;
    k=0;
    for (i=0;i<s;i++)
    {
        for (j=0;j<s;j++)
            if (x[i]==x[j])
            {
                k=k+1;
                b=x[i];
            }
 
        //cout<<" K: "<<k<<" ";
        if (k>2)
        {
            for (t=i; t<s; t++)
                if (x[t]==b)
                {
                    for (p=t;p<s;p++)
                        x[p]=x[p+1];
                    t--;
                    s--;
                }
            i--;
        }
        k=0;
    }
 
Текущее время: 09:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru