Надеюсь на вашу помощь.
Задание:
Программу я написал,но она не совсем правильно работает и достаточно большая, помогите,пожалуйста, исправить.
читать дальше
Задание:

Программу я написал,но она не совсем правильно работает и достаточно большая, помогите,пожалуйста, исправить.
читать дальше
Если честно, вместо сдвига влево всех кусков относительно всех индексов i_1, i_2 ... i_k где встречается b (а как я понял, именно это вы и пытаетесь сделать). Я бы прошёлся по исходному массиву, там где встречается b - пометил его -1. После чего перекопировал бы элементы в новый массив, пропуская там где -1.
Если сдвиг влево относительно множества индексов i_1, i_2, ... i_k - обязательное условие задачи - то надо подумать (но это изврат, мы не выигрываем ни в месте ни во времени. Более того сдвиг влево увеличивается с каждым последующим индексом).
Да.
Да.
Точнее не совсем. У вас получается, что счётчик для массивов a, b один и тот же. Следовательно на месте i там где a[i] = b в массив b не будет занесено ничего. А должно быть a[i + k], где i + k индекс первого значения неравного b.
Например допустим b = 3, a: 0 1 3 3 3 2 5 3 1.
У вас b равен: 0 1 0 0 0 2 5 0 1 ...
А должно быть 0 1 2 1 5 1 0 0 ... (полагаем, что массив инициализирован нулями).
То есть фактически b забит нулями между 1 и 2, и между 5 и 1.
Подумайте, как написать "пропуск" верно. Используйте разные счётчики для a и b.
Эту часть я сделал, не без помощи конечно)
Вы мне можете помочь доделать дальше? Помогите,пожалуйста, иначе не успею..
Вот,вторая часть задания
читать дальше
Я могу сказать только две вещи:
1. В следующий раз приводите условие ПОЛНОСТЬЮ.
2. У вас принципиально неправильно построен код. Вам необходимо сначала реализовать элементарные процедуры, описанные в задаче. После чего используя их - выполнить сами задания. У вас же сейчас код это просто набор инструкций.
Начните с реализации элементарных процедур. Потом вызывая их выполните описанные задания.