Сделать не сложную прогу в СИ
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
-
- Сообщения: 5
- Зарегистрирован: 03 апр 2014, 02:23
Разработать и реализовать алгоритм,сравнивающий каждый элемент массива из 20 целых чисел с его правым соседом и меняющий их местами,если они не совпадают.
А как понять какой элемент массива находится справа, а какой - слева?
It's a long way to the top if you wanna rock'n'roll
То есть найти среди 20-ти элементов первый, не совпадающий со своим соседом, и бесконечно менять их местами? Нда. Это не называется "не сложной прогой", так как здесь даже приведение в порядок самого задания превосходит по сложности компиляторы.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Ребята, не мудрите. Задание более, чем чёткое. КАЖДЫЙ элемент сравнить в цикле с ПРЫВЫМ соседом и поменять, если они не равны.
Пишу на псевдоязыке, чтобы топик стартеру было чем заняться и подумать, при переводе на С++.
Пишу на псевдоязыке, чтобы топик стартеру было чем заняться и подумать, при переводе на С++.
Код: Выделить всё
Массив Целых [1...N];
Считать(Массив);
Цикл i от 1 до N-1
{
Если (Массив[i] != Массив[i+1])
{
Целое temp = Массив[i];
Массив[i] = Массив[i+1];
Массив[i+1] = temp;
}
}
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
То есть он становится на место правого соседа, а сосед на его и теперь уже правый сосед, ставший левым, опять не равен правому соседу, опять меняем их местами. Поэтому проще будет написать компилятор, чем добиться, нужна ли тебе сортировка и в каком порядке, или перемешивание. Как есть будет зависание.Romeo писал(а):Ребята, не мудрите. Задание более, чем чёткое. КАЖДЫЙ элемент сравнить в цикле с ПРЫВЫМ соседом и поменять, если они не равны.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Я вообще не понимаю, при чём тут компилятор, и как сложность его написания связана со сложностью написания этой элементарной задачи.
Предлагаю просто ещё раз поднять глаза к моему предыдущему посту, сделать над собой усилие, и наконец-то пробежаться глазами по псевдокоду. Никакого там зависания нет.
Предлагаю просто ещё раз поднять глаза к моему предыдущему посту, сделать над собой усилие, и наконец-то пробежаться глазами по псевдокоду. Никакого там зависания нет.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Так что же считать ПРАВЫМ соседом? У меня в памяти массив снизу вверх идет, это еще со времен программирования на Z80 пошло. Внизу ПЗУ, посредине видеопамять, выше - память программ. Где право? Где лево?
It's a long way to the top if you wanna rock'n'roll
А нуль-терминальные строки у тебя тоже по-антияпонски располагаются? Чем больше индекс, тем правее.
Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
somewhere, не умножай сущности без надобности.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.