Страница 1 из 1
Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 02:24
Creative10
Разработать и реализовать алгоритм,сравнивающий каждый элемент массива из 20 целых чисел с его правым соседом и меняющий их местами,если они не совпадают.
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 15:33
somewhere
А как понять какой элемент массива находится справа, а какой - слева?
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 17:15
Сионист
То есть найти среди 20-ти элементов первый, не совпадающий со своим соседом, и бесконечно менять их местами? Нда. Это не называется "не сложной прогой", так как здесь даже приведение в порядок самого задания превосходит по сложности компиляторы.
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 19:27
Romeo
Ребята, не мудрите. Задание более, чем чёткое. КАЖДЫЙ элемент сравнить в цикле с ПРЫВЫМ соседом и поменять, если они не равны.
Пишу на псевдоязыке, чтобы топик стартеру было чем заняться и подумать, при переводе на С++.
Код: Выделить всё
Массив Целых [1...N];
Считать(Массив);
Цикл i от 1 до N-1
{
Если (Массив[i] != Массив[i+1])
{
Целое temp = Массив[i];
Массив[i] = Массив[i+1];
Массив[i+1] = temp;
}
}
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 20:09
Сионист
Romeo писал(а):Ребята, не мудрите. Задание более, чем чёткое. КАЖДЫЙ элемент сравнить в цикле с ПРЫВЫМ соседом и поменять, если они не равны.
То есть он становится на место правого соседа, а сосед на его и теперь уже правый сосед, ставший левым, опять не равен правому соседу, опять меняем их местами. Поэтому проще будет написать компилятор, чем добиться, нужна ли тебе сортировка и в каком порядке, или перемешивание. Как есть будет зависание.
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 20:29
Romeo
Я вообще не понимаю, при чём тут компилятор, и как сложность его написания связана со сложностью написания этой элементарной задачи.
Предлагаю просто ещё раз поднять глаза к моему предыдущему посту, сделать над собой усилие, и наконец-то пробежаться глазами по псевдокоду. Никакого там зависания нет.
Re: Сделать не сложную прогу в СИ
Добавлено: 03 апр 2014, 22:54
somewhere
Так что же считать ПРАВЫМ соседом? У меня в памяти массив снизу вверх идет, это еще со времен программирования на Z80 пошло. Внизу ПЗУ, посредине видеопамять, выше - память программ. Где право? Где лево?
Re: Сделать не сложную прогу в СИ
Добавлено: 04 апр 2014, 08:26
Сионист
А нуль-терминальные строки у тебя тоже по-антияпонски располагаются? Чем больше индекс, тем правее.
Re: Сделать не сложную прогу в СИ
Добавлено: 04 апр 2014, 15:34
Romeo
somewhere, не умножай сущности без надобности.