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

Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив - C++

Восстановить пароль Регистрация
 
Lers
12 / 12 / 3
Регистрация: 27.05.2012
Сообщений: 202
29.04.2013, 21:40     Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив #1
Нужно элементы расположены на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив.
P.S. help
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <conio.h>
 
void main()
{
 
int a[10][10];
int b[50];
int n,i,j,k=0;
clrscr();
printf("\n Vvedite ramzer");
scanf("%d",&n);
for (i=0;i<n;i++)
 for (j=0;j<n;j++)
 {
  printf("\n A[%d][%d]= ",i+1,j+1);
  scanf("%d",&a[i][j]);
 }
 printf("\n Icxodnaya matriza\n");
for (i=0;i<n;i++)
 {
 for (j=0;j<n;j++)
    printf("%6d ",a[i][j]);
  printf("\n");
 }
 
for (i=0;i<n;i++)
{
 b[i]=a[i][i];
 k++;
}
 
 for(j=1;j<n;j++)
 {
  b[k]=a[0][j];
  k++;
 }
 
for (j=2;j<n;j++)
{
 b[k]=a[1][j];
 k++;
}
 
if (n<4) printf("Nety 3 stroki nad gl.diagonal\n");
else
{
for (j=2;j<n;j++)
 {
  b[k]=a[2][j+1];
  k++;
 }
}
 
 
for(j=0;j<n;j++)
{
b[k]=a[n][j];
k++;
}
 
  for (j=0;j<n-1;j++)
  {
   b[k]=a[n-1][j];
   k++;
 }
for(i=0;i<k;i++)
printf("\nB[%d]=%d ",i,b[i]);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 21:40     Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив
Посмотрите здесь:

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию C++
C++ Программа, которая зануляет элементы выше и ниже главной и побочной диагонали
Вывести на экран значения тех эле-ментов, лежащих выше главной диагонали, которые больше всех элементов, лежащих ниже главной диагонали C++
Верно ли, что среднее арифметическое элементов выше главной диагонали больше среднего арифметического элементов ниже главной диагонали C++
Сохранить все нулевые элементы, размещенные на главной диагонали и в верхней половине области выше диагонали C++
Определить: сумма элементов выше главной диагонали меньше суммы элементов ниже главной диагонали? C++
C++ Вычислить среднее арифметическое побочной диагонали матрицы, и заменить им элементы ниже главной диагонали
Заменить элементы главной диагонали суммами элементов их строк стоящих выше побочной диагонали C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.05.2013, 10:35     Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив #2
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 10
 
int main(int argc, char* argv[])
{
    int** A = new int*[N];
    memset((void*)A, 0x00, sizeof(int*) * N);
 
    for (int k1 = 0; k1 < N; k1++)
    {
        A[k1] = new int[N];
        for (int k2 = 0; k2 < N; k2++)
        {
            A[k1][k2] = rand() % (N-1) + 1;
            printf("%d ",A[k1][k2]);
        }
 
        printf("\n");
    }
 
    printf("\n");
 
    int* B = new int[N * N - N];
    memset((void*)B, 0x00, sizeof(int) * (N * N - N));
 
    int x = 0;
    for (int r = 1; r < N; r++)
        for (int i = 0, j = r; j < N; i++, j++)
            B[x++] = A[i][j];
 
    for (int t = 1; t < N; t++)
        for (int v = 0, d = t; d < N; d++, v++)
            B[x++] = A[d][v];
 
    for (int q = 0; q < N * N - N; q++)
        printf("%d ",B[q]);
 
    printf("\n");
 
    _getch();
 
    return 0;
}
Миниатюры
Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив  
Yandex
Объявления
02.05.2013, 10:35     Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив
Ответ Создать тему
Опции темы

Текущее время: 21:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru