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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2017, 18:45   #31
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
В C если передать не указатель, а массив
с размером, то всё равно будет голый указатель.
Индексацию можно и к указателю применять.
А вот код будет намного читабельнее и проще.
В том то и дело, что надо передать массив с определенным размером. У меня, например, ф-ция initialization() обрабатывает массивы размером 9х9 и 9х10 - могу ли я пользоваться в этом случае записью array [i][j]?
tutejshy вне форума Ответить с цитированием
Старый 13.08.2017, 19:41   #32
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от tutejshy Посмотреть сообщение
могу ли я пользоваться в этом случае записью array [i][j]?
Так нет, но можно так, например:
Код:
//gcc 5.4.0

#include  <stdio.h>


void foo(int *arr, size_t dim1, size_t dim2)
{
    for (size_t i = 0; i < dim1; ++i) {
        for (size_t j = 0; j < dim2; ++j) {
            //printf(j != (dim2 - 1)? "%d, ": "%d\n", arr[i * dim2 + j]);
            printf(j != (dim2 - 1)? "%d, ": "%d\n", *(arr + i * dim2 + j));
        }
    }
}


int main(void)
{
    int arr1[3][5] = {
        {1, 2, 3, 4, 5},
        {3, 4, 5, 6, 7},
        {5, 6, 7, 8, 9},
    };
    int arr2[4][4] = {
        {1, 2, 3, 4},
        {5, 6, 6, 5},
        {4, 3, 2, 1},
    };
    foo(arr1, 3, 5);
    foo(arr2, 3, 4);
    return 0;
}
http://rextester.com/NPYY19352
Заметьте, вариант в комментарии короче и понятнее.

Последний раз редактировалось Croessmah; 13.08.2017 в 19:45. Причина: радости копипаста
Croessmah вне форума Ответить с цитированием
Старый 13.08.2017, 20:22   #33
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

http://www.programmersforum.ru/showt...F3%E4%EE%EA%F3
там в #9 есть код для генерации судоку-жирандоль, быстрый, но без проверки на уникальеость. Может и подойдет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.08.2017, 09:10   #34
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
Заметьте, вариант в комментарии короче и понятнее.
Ну вот этим вариантом я как раз-таки и пользуюсь))
tutejshy вне форума Ответить с цитированием
Старый 14.08.2017, 09:20   #35
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
там в #9 есть код для генерации судоку-жирандоль, быстрый, но без проверки на уникальеость. Может и подойдет
1) Это Паскаль.
2) Подойдет для чего?
3) Если без проверки на уникальность, то это не судоку!

А сделать жирандоль из моего судоку, кстати, я думаю будет не сложно - попробую, заодно потренеруюсь как добавлять флаги в Си.
tutejshy вне форума Ответить с цитированием
Старый 14.08.2017, 09:48   #36
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Подумаешь паскаль )) главное алгоритм генерации. Убрать рандом из него и проверка на уникальность конечно не убыстрит ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.08.2017, 10:02   #37
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Я не понял зачем ты его предложил?
tutejshy вне форума Ответить с цитированием
Старый 15.08.2017, 18:03   #38
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

В качестве эксперименты (и по просьбам) реализовал операции над матрицами с помощью синтаксического сахара (кроме ф-ции init - она принимает массивы разных размеров) + добавил комментарии - теперь подскажите: стал ли код "более читабелен" или нет.
tutejshy вне форума Ответить с цитированием
Старый 22.08.2017, 22:00   #39
tutejshy
Форумчанин
 
Регистрация: 13.05.2017
Сообщений: 100
По умолчанию

Добавил Жирандоль! Пришлось основательно попотеть и создать доп. алгоритм.
tutejshy вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в тестировании нового инструмента для С# cpp46 Софт 0 18.12.2015 14:06
Нужна помощь в написании проги на паскале за вознаграждение!!! Indemion Фриланс 2 26.05.2015 22:12
Нужна помощь с алгоритмом...есть листинг проги на delphi DIMONCHIK666 Помощь студентам 12 23.03.2015 05:42
Требуется помощь в тестировании Utkin Софт 0 04.12.2009 10:19
нужна помощь в написании маленькой проги. о цене договримся ЛенаЛена Помощь студентам 1 26.01.2009 13:02