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

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

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

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

18.12.2012, 16:15. Просмотров 859. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 16:15     есть матрица(см. код), как вывести только верхний ее треугольник?
Посмотрите здесь:

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

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

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

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

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

нужно убрать однаковые елементы в списке(есть код програмы) только нехватает удаления однаковых елементов - C++
#include&lt;iostream&gt; #include&lt;string&gt; using namespace std; struct List1 { string a; List1 * next; }; struct...

Определить виды блюд, которые есть только на завтраке, только на обеде и только на ужине - C++
В столовой имеются отдельные меню на завтрак, обед и ужин. Известно, что в каждом таком меню не более 10 видов блюд.Определите, какие...

Скажите пожалуйста как сделать теперь что бы треугольник который справа зарисовваный, оказался только слева зарисованным - C++
Скажите пожалуйста как сделать теперь что бы треугольник который справа зарисовваный, оказался только слева зарисованным!) #include...

Нужно вывести все буквы, которые встречаются в ней , и их количество , легкий код только сделайте плз - C++
Пример Input zazbazy output a 2 ...

Матрица. Как написать код? - C++
Задача Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера NxN по часовой стрелке,...

есть матрица 4х3, как определить сумму каждой строки матрицы ? - C++
Ребят помогите есть матрица 4х3, как определить сумму каждой строки матрицы ?

Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них - C++
2.Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них (в том числе повторяющиеся). Например, если ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:21     есть матрица(см. код), как вывести только верхний ее треугольник? #2
Верхний треугольник это выше главной диагонали?
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
18.12.2012, 19:56  [ТС]     есть матрица(см. код), как вывести только верхний ее треугольник? #3
v.a.l.i.d, это верхний правый треугольник вместе с диагональю
v.a.l.i.d
412 / 377 / 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;
}
cornis
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 20
18.12.2012, 20:33  [ТС]     есть матрица(см. код), как вывести только верхний ее треугольник? #5
Спасибо большое! Очень выручил.
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 20:35     есть матрица(см. код), как вывести только верхний ее треугольник? #6
Пожалуйста)
Yandex
Объявления
18.12.2012, 20:35     есть матрица(см. код), как вывести только верхний ее треугольник?
Ответ Создать тему
Опции темы

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