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

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

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

есть матрица(см. код), как вывести только верхний ее треугольник? - C++

18.12.2012, 16:15. Просмотров 898. Ответов 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
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <ctime>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
#include <locale>
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"rus");
    int i,j;
    int **d;
    int **b;
    int k;
    cout<<"Введите размер матрицы: ";
    cin>>k;
    d=new int*[k];
    for( i=0; i<k; i++)
{
   d[i] = new int [k];
}
            b=new int*[k];
    for(int i=0; i<k; i++)
{
   b[i] = new int [k];
}
int l=(((1+k)*k)/2)+100;
int *c= new int[l];
 
srand(time(0));
cout<<"\nИсходные данные:\n";
for(i=0;i<((1+k)*k/2);i++)
{   
    c[i]= rand()%20 +1;
    printf("%d ",c[i]);
}
 
 
cout<<"\nПолучаемая матрица, симметричная главной диагонали:\n";
    for(i=0;i<k;i++)
{
    for(j=i;j<k;j++)
    {
        b[i][j]=c[(k-1)*i+j-i*(i-1)/2]; }}
for(i=0;i<k;i++)
{ for(j=0;j<=k;j++)
    {
    if(i<=j)
    d[i][j]=b[i][j];
    else
d[i][j]=b[j][i];
            }}
for(i=0;i<k;i++)
{ 
    for(j=0;j<k;j++)
{ 
    printf("%2.d ",d[i][j]);
                } 
    printf("\n");
}
system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 16:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос есть матрица(см. код), как вывести только верхний ее треугольник? (C++):

Заполнить верхний треугольник массива n на m - C++
написать программу которая заполнит вот так массив 0 1 2 3 4 0 0 5 6 7 0 0 0 8 9 0 0 0 0 10

Напечатать верхний треугольник квадратной матрицы - C++
Квадратная матрица задана в виде одномерного массива по строкам. Напечатать верхний треугольник матрицы (включая элементы главной...

Матрица NxM. Упорядочить. Есть код, нужна доработка. - C++
Дан массив NxM. Упорядочить по возрастанию. Есть код, нужна доработка.

Динамически выделить память под верхний треугольник квадратной матрицы - C++
прога все считает, но в конце выдается системная ошибка... я пришел к выводу, что ошибка - в выделении памяти под верхний треугольник...

Вывести на экран верхний треугольник матрицы - Pascal
помогите сделать дополнительные занятия 1)расположить элементы относительно побочной диагонали 2)вывести на экран верхний треугольник...

вывести на экран верхний треугольник матрицы - Pascal
подскажите как сделать вот это задание -------&gt; |вывести на экран верхний треугольник матрицы относительно главной диагонали| сама...

5
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:21 #2
Верхний треугольник это выше главной диагонали?
0
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
18.12.2012, 19:56  [ТС] #3
v.a.l.i.d, это верхний правый треугольник вместе с диагональю
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 20:18 #4
Печать элементов матрицы d[][] выше главной диагонали
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int y=0; y<k; y++)
{
    // печать пробелов
    for (int probel=1; probel<=y; probel++)
        cout << " ";
 
    // печать элементов выше диагонали (включая саму диагональ)
    for (int x=y; x<k; x++)
        cout << d[y][x] << " ";
        
    cout << endl;
}
1
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
18.12.2012, 20:33  [ТС] #5
Спасибо большое! Очень выручил.
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 20:35 #6
Пожалуйста)
0
18.12.2012, 20:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 20:35
Привет! Вот еще темы с ответами:

Вывести на печать верхний треугольник массива по строкам, включая элементы главной диагонали - VBA
Двумерный массив размером NxN задан в виде одномерного массива по столбцам. Вывести на печать верхний треугольник массива по строкам,...

Вывести на экран сформированную матрицу и верхний треугольник матрицы, включая элементы главной диагонали - PascalABC.NET
При помощи случайных чисел вести одномерный массив размерности 100 Сформировать из него квадратную матрицу.Вывести на экран сформированную...

Вывести на экран верхний треугольник матрицы (из случайных чисел), включая элементы главной диагонали - PascalABC.NET
С помощью случайных чисел ввести одномерный массив размерности 100. Сформировать из него квадратную матрицу. Вывести на экран...

В один массив переслать по строкам верхний треугольник матрицы, включая элементы главной диагонали, в другой – нижний треугольник - Turbo Pascal
Дана целочисленная квадратная матрица размером n на m. Написать программу, формирующую два одномерных массива. В один переслать по строкам...


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

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

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