Форум программистов, компьютерный форум CyberForum.ru

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

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

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

09.04.2012, 10:50. Просмотров 741. Ответов 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");
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 10:50     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

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

Переписать поочередно элементы главной и побочной диагоналей матрицы в массив - C++
вот сама задача: Переписать поочередно элементы главной и побочной диагоналей матрицы Аi,j в массив В

Заменить элементы главной и побочной диагоналей матрицы на минимальный элемент ниже главной диагонали - C++
В квадратной матрице А заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенных...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
09.04.2012, 11:58     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали #2
пример выходного массива b в студию
а то я понял, что тебе нужно брать элементы параллельно побочной диагонали из а
а записывать их в b в каком порядке???
Иначе не ответить.
lord2012
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 12
09.04.2012, 12:13  [ТС]     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали #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
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
09.04.2012, 12:23     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали #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;
}
И, пожалуйста, учи программирование! Это очень важно, не столько для твоих лабораторных, сколько для всего человечества! Всех на этой планете.
lord2012
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 12
09.04.2012, 14:42  [ТС]     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали #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;
}
Выводится только половина одномерного массива.
Буду думать как исправить
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
09.04.2012, 16:34     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали #6
Цитата Сообщение от lord2012 Посмотреть сообщение
Выводится только половина одномерного массива.
Ну ты просил вдоль диагонали, я вывел всё что вдоль неё.
Если надо и под ней сделай второй цикл
Yandex
Объявления
09.04.2012, 16:34     Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали
Ответ Создать тему
Опции темы

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