singlepost

Какую прогу написать? << На главную или назад  

Мне в качестве зачетной работы нужно написать свою программу на delphi. Может кто предложит какую программу написать?

32 ответов в теме “Какую прогу написать?”

  1. 19
    Андрей Куликов ответил:

    Хе, у меня жена для себя все подумывает сделать. )) Как раз занималась в аспирантуре алгоритмами кластеризации и классификации, которые очень хорошо на эту задачу ложатся. )) Дело за малым написать на их основе приличный гуй. )
    Если вдруг когда нибудь возьмется – выложим. )

  2. 18
    Светлана Колупаева ответил:

    Эх, жалко что сдал, у меня была мегаидея!

    Идея (вдруг кому пригодится):

    Есть такое хобби: вышивание. Да, крестиком :) Для вышивания крестиком нужен паттерн.
    Допустим, у меня есть картинка, которую я хочу вышить. На вход – картинка. Параметры: количество цветов (как вариант я сама задаю цвета исходя из имеющихся в наличии ниток) и размер вышивки. На выход – паттерн, который представляет ту же картинку в подходящем для вышивания виде.

    Реализация, если в лоб, элементарная: просто заменить набор пикселей на один "усредненного" цвета.

  3. 17
    Михаил Ганеев ответил:

    сдал, спасибо за помощь

  4. 16
    Никита Леонтьев ответил:

    Во что творят……
    Тема вроде называеться какую прогу написать, и ясно сказано на delphi

  5. 15
    Артём Шалхаков ответил:

    2 Михаил
    конечно, не работает, но это тебе придется решить самому.

    PS в следующий раз создай, пожалуйста, новую тему.

  6. 14
    Александр Чигринец ответил:

    В этой группе была тема про разбор формул. Как вариант можно написать такую задачку:
    Расчёт определённого интеграла (хоть методом прямоугольников, хоть трапеций). Подинтегральное выражение, границы интегрирования и точность вычисления задаются пользователем.

  7. 13
    Михаил Ганеев ответил:

    переделал как ты сказал, прога не вылетает, но и не вставляет элемент
    Код>>
    /*Создать связный список, вывести его на экран.
    Вставить элемент с заданным словом между элементами с указанными номерами.
    Вывести полученный список на экран.*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    #define MAX 3
    #define MAXL 10
    typedef struct node
    {
    char data[MAXL];
    struct node *next;
    }NODE, *PNODE;
    void createlist(PNODE *top);
    void printlist(PNODE top);
    void vstavka(PNODE top);
    void createlist(PNODE *curr)
    {
    char item[MAXL];
    int i;
    PNODE ptr;
    for (i=0;i<MAX; i++)
    {
    printf("Word->");
    gets(item);
    ptr=(PNODE)malloc(sizeof(NODE));
    ptr->next=*curr;
    strcpy(ptr->data, item);
    *curr=ptr;
    }
    }
    void printlist(PNODE top)
    {
    if(top==NULL)
    printf("List is empty!\n");
    else
    {
    while (top)
    {
    puts(top->data);
    top=top->next;
    }
    }
    }
    void vstavka(PNODE top)
    {
    char item[MAXL];
    int ind;
    PNODE prevEl;
    PNODE nowEl=top;
    PNODE newEl;
    printf("Input index and element-> ");
    scanf("%d %s", &ind, &item);
    newEl=(PNODE)malloc(sizeof(NODE));
    newEl->next=NULL;
    strcpy(newEl->data,item);
    for(int i=0; i<ind; i++)
    {
    nowEl=nowEl->next;
    if(i==ind)
    {
    prevEl = nowEl->next; // взять след. эл-т из текущего
    nowEl->next=newEl;// текущему присвоить новый
    newEl->next = prevEl; // в новом продолжить список
    break;
    }
    }
    }
    void main (void)
    {
    char item[MAXL];
    PNODE top=NULL;
    createlist(&top);
    printf("List:\n");
    printlist(top);
    vstavka(top);
    printf("\nNew list:\n");
    printlist(top);
    }

    <<Код

  8. 12
    Артём Шалхаков ответил:

    насчет for (int i=0; i<ind && nowEl; i++) — вдруг индекс задан неверно? (например, больше, чем элементов в списке) вдруг список где-то зациклен?
    вдруг ind < 0 — что тогда?

    используй defensive programming, раз уж пользуешься C.

  9. 11
    Артём Шалхаков ответил:

    2 Никита
    напиши калькулятор, который распознает выражения в обратной польской записи, ну или даже в обычной записи (инфиксная вроде).

    то есть: есть поле ввода, пишешь туда выражение, потом жмыкаешь кнопку "вычислить" — в отдельном окошке показывается результат.

    потом можно будет расширить: например, позволить задавать константы.

    задача не сильно сложная, но очень интересная :) (по сути, интерпретатор пишешь)

    2 Михаил
    ужасная программа, за такое надо бить по почкам ;)
    >ptr=PNODE(malloc(sizeof(NODE)));
    должно быть ptr=(PNODE)malloc(sizeof(NODE)); (то есть приведение типов. то, что у тебя — конструктор из Си++)
    >strcpy(ptr->data, item);
    возможно переполнение -> порча памяти -> SEGFAULT, AV, etc.
    >scanf("%d %s", ind, item);
    нужно передавать указатели на переменные:
    scanf("%d %s", &ind, &item);
    >newEl=PNODE(malloc(sizeof(NODE)));
    опять двадцать пять…

    цикл следует переписать:
    for(int i=0; i<ind && nowEl; i++) { // если !nowEl, предлагаю longjmp()
    nowEl=nowEl->next;
    if(i==ind) {
    prevEl = nowEl->next; // взять след. эл-т из текущего
    nowEl->next = newEl; // текущему присвоить новый
    newEl->next = prevEl; // в новом продолжить список
    break; // больше ничего не надо, прекращаем цикл
    }
    }

    вообще, если работаешь со списками, используй Лисп — удобнее/понятнее

  10. 10
    Ирина Ким ответил:

    2Михаил Ганеев
    у меня компилятор ошибок не находит…но и прогу не запускает…

  11. 9
    Никита Миклушов ответил:

    2 Михаил:
    В книге Павловской был описан такой алгоритм, сча посмотрю в чем трабл:

  12. 8
    Никита Леонтьев ответил:

    Михаил, я же сказал на delphi

  13. 7
    Никита Леонтьев ответил:

    Калькулятор, это уж слишком. А вот с алгеброй неплохая идея

  14. 6
    Никита Миклушов ответил:

    слишком примитивно и не ново(
    ТОже самое что написать змейку или сапёра(

    Напиши-ка програмку для работы с линейной алгеброй – полезно, математично, кучу литературы тебе в помощ найдешь, и работа выйдет не плохая)

  15. 5
    Михаил Ганеев ответил:

    посмотри пожалуйста вот эту программу, не знаю, почему она вылетает после ввода индекса и слова:
    Код>>
    /*Создать связный список, вывести его на экран.
    Вставить элемент с заданным словом между элементами с указанными номерами.
    Вывести полученный список на экран.*/
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    #define MAX 3
    #define MAXL 10
    typedef struct node
    {
    char data[MAXL];
    struct node *next;
    }NODE, *PNODE;
    void createlist(PNODE *top);
    void printlist(PNODE top);
    void vstavka(PNODE top);
    void createlist(PNODE *curr)
    {
    char item[MAXL];
    int i;
    PNODE ptr;
    for (i=0;i<MAX; i++)
    {
    printf("Word->");
    gets(item);
    ptr=PNODE(malloc(sizeof(NODE)));
    ptr->next=*curr;
    strcpy(ptr->data, item);
    *curr=ptr;
    }
    }
    void printlist(PNODE top)
    {
    if(top==NULL)
    printf("List is empty!\n");
    else
    {
    while (top)
    {
    puts(top->data);
    top=top->next;
    }
    }
    }
    void vstavka(PNODE top)
    {
    char item[MAXL];
    int ind;
    PNODE prevEl;
    PNODE nowEl=top;
    PNODE newEl;
    printf("Input index and element-> ");
    scanf("%d %s", ind, item);
    newEl=PNODE(malloc(sizeof(NODE)));
    newEl->next=NULL;
    prevEl->next=newEl;
    strcpy(newEl->data,item);
    for(int i=0; i<ind; i++)
    {
    nowEl=nowEl->next;
    if(i==ind)
    {
    prevEl = nowEl->next; // взять след. эл-т из текущего
    nowEl->next=newEl;// текущему присвоить новый
    newEl->next = prevEl; // в новом продолжить список
    }
    }
    }
    void main (void)
    {
    char item[MAXL];
    PNODE top=NULL;
    createlist(&top);
    printf("List:\n");
    printlist(top);
    vstavka(top);
    printf("\nNew list:\n");
    printlist(top);
    }

    <<Код

  16. 4
    Владимир Шакшин ответил:

    калькулятор напиши…

  17. 3
    Никита Леонтьев ответил:

    Объем не ограничен, у меня базовые знания delphi,только начинаю изучать

  18. 2
    Александр Чигринец ответил:

    Какого уровня и объёма должна быть программа?

  19. 1
    Жека Кирпичев ответил:

    Какая у тебя область интересов в программировании или около того?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.