Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> оцените код, цель написать мин задачу с макс качество 
V
    Опции темы
ferz721
Дата 1.3.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



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

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  task.zip 19,12 Kb
PM MAIL   Вверх
kosmonaFFFt
Дата 1.3.2011, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 538
Регистрация: 14.4.2008
Где: Иннополис

Репутация: нет
Всего: 5



За что бы расстрелял сразу, так это за стиль кода... А в особенности за хитровыдуманную работу с указателями, вместо индексации...
Но это лично мое мнение...

З.Ы.
Код

int *dynamic_array = malloc(sizeMatrix1 * sizeMatrix2);


malloc выделяет память в байтах, надо домножать на sizeof(int)

З.З.Ы.

И раз уж это C++, то лучше управлять памятью с помощью new и delete вместо malloc и free.

Это сообщение отредактировал(а) kosmonaFFFt - 1.3.2011, 18:37


--------------------
user posted image
PM MAIL ICQ   Вверх
ferz721
Дата 2.3.2011, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



Цитата

malloc выделяет память в байтах, надо домножать на sizeof(int)

благадорю
Цитата

И раз уж это C++, то лучше управлять памятью с помощью new и delete вместо malloc и free.

код на си. раздел  "C/C++: Для новичков", все правильно

Это сообщение отредактировал(а) ferz721 - 2.3.2011, 00:26
PM MAIL   Вверх
baldina
Дата 2.3.2011, 09:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



кашмар

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

int found(int * i, int size)

?
код может быть самодокументируемым, тогда и потребность в комментариях уменьшится
3. сообщения об ошибках. что подумает пользователь, увидев "error dynamic_array" или "not equality number"?
4. слишком много скобочек, нечитабельно
Код

        scanf("%d", (i+j));

5. на переменных экономим
6. алгоритмы весьма странные (да и неправильные). например, зачем сортировать массив, и не пользоваться этим?
Код

int found(int * i, int size)
{
    int j, k, count = 0;
    sort(i, size);
    for(j = 0;j<size;j++)
    {
        for(k = 0;k<size;k++)
        {
            if((*(i+k)) == (*(i+j)))
            {
                count++;
                if(count > 1)
                {
                return (*(i+j));
                }
            }else if((*(i+k)) != (*(i+j)))
            {
                printf("not equality number");
            }
        }
    }
}

vs
Код

int find_duplicate (int * array, int size)
{
    int i;
    sort(array, size);
    for(i = 0;i<size-1;i++)
       if (array[i] == array[i+1])
          return i;
    return size;
}
...
index = find_duplicate (dynamic_array, size);
if (index != size)
  printf("duplicate number found:\t%d\n", dynamic_array[index]);
else
  printf("duplicates not found\n");



Это сообщение отредактировал(а) baldina - 2.3.2011, 09:52
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1947 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.