Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lord2012
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 12
#1

Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали - C++

09.04.2012, 10:50. Просмотров 821. Ответов 5
Метки нет (Все метки)

Дали лабораторную работу по информатике
Задание: Составить массив В так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали и начинались с a[0,0], a[1,0], a[0,1]...
Помогите! Двумерный массив создаю, а дальше не знаю как.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#define N 7
#define M 7
#define N_MAX 50
#define N_MIN 1
int main(void)
{
int i,j,m [N][M];
srand(time(NULL));
for (i=0; i<M; i++)
for (j=0; j<N; j++)
m [i][j] = rand()%(N_MAX - N_MIN +1)+ N_MIN;
printf("Введенный массив:\n");
for (i=0; i<M; i++)
{
for (j=0; j<N; j++)
printf("%d ",m[i][j]);
printf("\n");
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 10:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали (C++):

Квадратный массив - поменяйте в нем местами элементы главной и побочной диагоналей - C++
Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.

Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей. - C++
Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.

Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк - C++
Доброго времени суток. помогите пожалуйста с задачей последняя осталась) Расположить элементы матрицы M, так чтобы на побочной диагонали...

Можно ли расположить на побочной диагонали элементы так, чтобы они возрастали - C++
Здравствуйте, форумчане! вот такая у меня задачка: Задан двумерный массив N x N. Разрешается произвольно переставлять элементы внутри...

Заполнить массив параллельно побочной диагонали - C++
Помогите пожалуйста написать програму Двумерного массива с++ для 1 3 4 10 11 ...

Заполнить массив параллельно побочной диагонали - C++
Многомерные массивы

5
Kuzia domovenok
1950 / 1803 / 139
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 1
09.04.2012, 11:58 #2
пример выходного массива b в студию
а то я понял, что тебе нужно брать элементы параллельно побочной диагонали из а
а записывать их в b в каком порядке???
Иначе не ответить.
0
lord2012
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 12
09.04.2012, 12:13  [ТС] #3
Например массив А:
24 36 41 5 34 46 41
29 47 14 10 46 16 37
18 8 18 26 26 24 9
50 4 18 41 28 8 28
29 8 25 2 43 17 9
29 14 49 7 10 12 16
7 29 2 26 36 21 1
Из него должны получить одномерный массив:
24 29 36 18 47 41 18 ...................1
0
Kuzia domovenok
1950 / 1803 / 139
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 1
09.04.2012, 12:23 #4
ТАК СКАЖИ В ПЕРВОМ ПОСТЕ, ЧТО МАССИВ "B" - ОДНОМЕРНЫЙ!
Почему я должен гадать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#define N 7
#define M 7
#define N_MAX 50
#define N_MIN 1
int main(void)
{
int i,j,m [N][M];
int t;
srand(time(NULL));
for (i=0; i<M; i++)
for (j=0; j<N; j++)
m [i][j] = rand()%(N_MAX - N_MIN +1)+ N_MIN;
printf("Введенный массив:\n");
for (i=0; i<M; i++)
{
for (j=0; j<N; j++)
printf("%d ",m[i][j]);
printf("\n");
}
t=0;
for (i=0; i<N; i++)
   for (j=i; j>=0; j--){
       b[t++]=a[j][i-j];
   }
printf("Получено:\n");
for (i=0; i<t; i++)
{
printf("%d ",b[i]);
}
return 0;
}
И, пожалуйста, учи программирование! Это очень важно, не столько для твоих лабораторных, сколько для всего человечества! Всех на этой планете.
0
lord2012
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 12
09.04.2012, 14:42  [ТС] #5
у тебя в коде есть ошибки я исправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#define N 7
#define M 7
#define N_MAX 50
#define N_MIN 1
int main(void)
{
int i,j,m [N][M];
int t, b [N*M];
srand(time(NULL));
for (i=0; i<M; i++)
for (j=0; j<N; j++)
m [i][j] = rand()%(N_MAX - N_MIN +1)+ N_MIN;
printf("Введенный массив:\n");
for (i=0; i<M; i++)
{
for (j=0; j<N; j++)
printf("%d ",m[i][j]);
printf("\n");
}
t=0;
for (i=0; i<N; i++)
   for (j=i; j>=0; j--){
       b[t++]=m[j][i-j];
   }
printf("Получено:\n");
for (i=0; i<t; i++)
{
printf("%d ",b[i]);
}
return 0;
}
Выводится только половина одномерного массива.
Буду думать как исправить
0
Kuzia domovenok
1950 / 1803 / 139
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 1
09.04.2012, 16:34 #6
Цитата Сообщение от lord2012 Посмотреть сообщение
Выводится только половина одномерного массива.
Ну ты просил вдоль диагонали, я вывел всё что вдоль неё.
Если надо и под ней сделай второй цикл
1
09.04.2012, 16:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2012, 16:34
Привет! Вот еще темы с ответами:

Экзотическое заполнение массива параллельно побочной диагонали - C++
Добрые люди,подскажите пожалуйста алгоритм для подобного стиля заполнения массива... 01 03 04 10 11 21 02 05 09 12 20 22 06 08 13...

Изменить заданный числовой массив так, чтобы элементы были расположены в нем в обратном порядке - C++
Доброго времени суток. Изменить заданный числовой массив так, чтобы элементы были расположены в нем в обратном порядке. Задача...

Как в обратном порядке выстроить элементы побочной диагонали массива и вывести весь массив? - C++
как в обратном порядке выстроить элементы побочной диагонали массива и вывести этот весь массив??

Найти минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы[массив] - C++
Привет всем,возникла проблема с решение данной проблемы(Найти минимум среди сумм элементов диагоналей, параллельных побочной диагонали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru