Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2017, 12:37   #1
quyr
Новичок
Джуниор
 
Регистрация: 15.09.2017
Сообщений: 2
По умолчанию Вопрос по задаче с универа

Всем здрасти. Я тут в первый раз, не знаю куда этот вопрос закинуть.
Одному моему другу в универе на 1 курсе дали по программированию задание нарисовать блок-схему для сортировки чисел по возрастанию. Массивы использовать нельзя. Насколько я понял, количество введенных чисел конечно, но это не точно Я решил для эксперимента попробовать такой алгоритмик сделать. Пришла идея использовать строки. Да, по сути это тоже массивы, но там своя специфика, как я понимаю, и в явном виде я символы в строках не перебирал и переменные с коэффициентами не использовал. Код и скрины проги приложу, она работает, если что Блок-схема получилась очень страшная (тоже приложу). А теперь кульминация. Препод дал им решение, как я понял, но это тоже не точно Этот чувак препода не понимает. Типа он дал такой алгоритм и думайте. То ли новая тема это, сортировка пузырьком.
Собственно, вопрос. Первый - я правильно прогу написал? Да, намудрил. Но все же. Я других способов решения, чтобы без массивов, не вижу. Если только.. пузрьком... типа. Не знаю я, как эти алгоритмы называются. Но там много условий надо писать, да, и опять-таки - без массивов. А все алгоритмы сортировки заточены под массивы, насколько я знаю. Второй вопрос - может ли быть алгоритм, который дал преподаватель, решением? Но я в нем вижу массив, хоть и явно он там не объявляется. Переменная с коэффициентами, которые в ходе выполнения алгоритма меняются - это же массив! Непонятка.
P.S. на фотке блок-схемы почти ничего не видно. Понятна только ее ужастность Первая фотка - препод дал, вторая - моя блок-схема.
Изображения
Тип файла: jpg Препод дал.jpg (87.5 Кб, 109 просмотров)
Тип файла: jpg Моя блок-схема.jpg (49.0 Кб, 114 просмотров)
Тип файла: png Скрин 1.png (8.2 Кб, 157 просмотров)
Тип файла: png Скрин 2.png (7.7 Кб, 148 просмотров)
Тип файла: png Скрин 3.png (7.8 Кб, 158 просмотров)
Вложения
Тип файла: txt код моей проги.txt (1.1 Кб, 113 просмотров)
quyr вне форума Ответить с цитированием
Старый 15.09.2017, 15:09   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Чет не понятно. Как как это можно без массивов? А введенные числа вы куда складывать будете? Строки это абсолютно тоже самое.
В тетрадке что за фигня то?? куда стрелки то уходят .. в никуда?? должен быть блок "Конец" или метка к другой схеме.

А по существу если ваш алгоритм выполняет задачу как требуется то почему он не может считаться правильным? Для теста прогоните с разной размерностью входной строки.. или чтобы числа имели больший разброс.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 15.09.2017, 15:33   #3
quyr
Новичок
Джуниор
 
Регистрация: 15.09.2017
Сообщений: 2
По умолчанию

Вот, и я о том же. Либо кто-то что-то не так понял, либо я не знаю. Но у них вся группа не сделала это задание, значит, реально без массивов. Потому что уж погуглить методы сортировки они могли бы.
Я тестил прогу на разных строках с разными числами. Работает. А в тетрадке у него просто, как я понял, списано с доски "как есть", для удобства разделено на две части, но это одна блок-схема.
А сама прога... фокус в том, что там не прога нужна, а блок-схема. Я мыслить схемами не привык, поэтому сначала код, а потом уже все остальное
Теоретически можно сделать прогу, которая будет, скажем, сортировать 5 чисел, записанных каждая в своей переменной. Но это бред, там куча бессмысленного кода будет. Если только рассматривать это как упражнение для мозгов, что тоже сомнительно, на мой взгляд.
quyr вне форума Ответить с цитированием
Старый 15.09.2017, 18:19   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

Цитата:
Как как это можно без массивов?
да изи:

Код:
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
 
int main(int c, char **v)
{
        while (--c > 1 && !fork());
        sleep(c = atoi(v[c]));
        printf("%d\n", c);
        wait(0);
        return 0;
}
Цитата:
viper@viper-debian:~$ ./a.out 5 9 1 4 2 3
1
2
3
4
5
9
а вообще - внешняя сортировка
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось Alex11223; 15.09.2017 в 18:42.
pproger вне форума Ответить с цитированием
Старый 16.09.2017, 10:45   #5
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
да изи:
Блин, прикольный код-то какой. Сам придумал? )
Жаль что с отрицательными числами работать не будет и наверное "считает долго", но очень понравилось )).

---добавил
Ну и да, может "что-то случиться" если в массиве есть одинаковые числа. Но это мелочь, подход шикарен.

---добавил
Загуглил, узнал что подход называется "спящая сортировка". Первый вопрос отпал. Мучает совесть (за скудность кругозора).

Последний раз редактировалось rrrFer; 16.09.2017 в 10:47.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО][Pascal] Сайт моего универа не принимает мое решение в простой задаче Starkkkkk Помощь студентам 2 04.09.2017 18:09
Вопрос по задаче VadEr Помощь студентам 3 10.05.2009 11:11
Вопрос по задаче на Паскаль Ser Паскаль, Turbo Pascal, PascalABC.NET 5 04.04.2009 20:23
Вопрос по задаче file Паскаль, Turbo Pascal, PascalABC.NET 20 03.06.2008 17:37
Вопрос по задаче Freeman12 Помощь студентам 5 26.05.2008 17:40