IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Заполнение слоев в матрице
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


Назовем 1-слоем (целочисленного) двумерного массива размером n × m элементы,
составляющие (последовательно) его первую строку, крайний правый столбец,
последнюю строку, крайний левый столбец. Назовем 2-слоем массива 1-слой
подмассива, получающегося в результате удаления 1-слоя из исходного массива.
Аналогичным образом определим 3-слой, 4-слой, …, k-слой (k <= min (n/2, m/2)). Помогите Пожалуйста написать программу, которая будет в массиве, имеющем p слоев, заполнять все элементы 1-слоя числом 1, 2-слоя – числом 2 и т.д.
Мой код:
k = k / 2;     // количество слоев
while(k > 0) { // цикл с уменьшением числа слоев
for(int i=1; i <= k; i++) { // {цикл по слоям, от внешнего к внутреннему

for(int j=i; j <= n-i; j++) array[j-1][i-1] = ...
for(int j=i; j <= m-i; j++) array[n-i][j-1] = ...
for(int j=n-i; j >= i; j--) array[j][m-i]= ...
for(int j=m-i; j >= i+1; j--) array[i-1][j]= ...

}
k --;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


И что? Я тебе на Sources.Ru показывал, как слои поворачивать, здесь надо только заполнить:
            int k = (n < m) ? n : m;
k = k / 2;
while(k > 0) {
for(int i=1; i <= k; i++) {
for(int j=i; j <= n-i; j++) a[j-1][i-1] = k;
for(int j=i; j <= m-i; j++) a[n-i+1-1][j-1] = k;
for(int j=n-i; j >= i; j--) a[j+1-1][m-i+1-1]= k;
for(int j=m-i; j >= i+1; j--) a[i-1][j+1-1]= k;
a[i-1][i+1-1]= k;
}
k -= 1;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 22:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name