Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
rusfox

Вывести все наддиагональные элементы матрицы в порядке, заданном диаграммой

15.01.2012, 18:52. Показов 2003. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить эту задачу.

Дана матрица вещественных чисел x[0..19,0..19]. Составить программу, которая выводит все наддиагональные элементы этой матрицы в порядке, заданном диаграммой.

Помогите пожалуйста.

Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2012, 18:52
Ответы с готовыми решениями:

Вывести элементы массива в заданном порядке
Дан массив A размера N. Вывести его элементы в следующем порядке: A1, A2, A(N), A(N-1), A3, A4, A(N-2), A(N-3), ... . #include...

Вывести элементы массива в заданном порядке
Дан массив А размера N. (размер должен вводиться с клавиатуры. Вывести его элементы в следующем порядке: A1, AN, A2, AN-1, A3, AN-2, …...

Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке
http://s59.***********/i166/0912/c1/560164df410b.jpg Помогите пожалуйста составить алгоритм, а в идеале еще и закодить). У меня были...

1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.01.2012, 08:27
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Размер матрицы определяется константой SIZE. По твоему заданию нужно сделать его равным 20 (но для наглядности делать SIZE выше 8 бессмысленно):
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define MIN -10
#define MAX 10
#define FIELD_WIDTH 7
#define PREC 2
#define SIZE 8
 
void dump(const double* matrix); /* pass pointer to the first item */
void print(const double* matrix, int offset); /* pass pointer to the first item */
 
int main(void)
{
    double matrix[SIZE][SIZE];
    int i, j;
 
    srand((size_t) time(NULL));
    
    for(i = 0; i < SIZE; ++i)
    for(j = 0; j < SIZE; ++j)
        matrix[i][j] = ((double) rand()) / RAND_MAX * (MAX - MIN + 1) + MIN;
 
    puts("\nGenerated matrix:");
    dump(&matrix[0][0]);
    
    puts("\nElements listed in the given order:");
    print(&matrix[0][0], SIZE);
    
    exit(0);
}
 
void dump(const double* matrix)
{
    int i, j;
 
    for(i = 0; i < SIZE; ++i)
    {
    for(j = 0; j < SIZE; ++j)
        printf("%*.*f", FIELD_WIDTH, PREC, matrix[i * SIZE + j]);
    putchar('\n');
    }
}
 
void print(const double* matrix, int offset)
{
    int i, j;
 
    /* stop recursion */
    if(offset <= 0)
    return;
    
    for(j = 0; j < offset; ++j)
    printf("%*.*f\n", FIELD_WIDTH, PREC, matrix[j]);
 
    for(i = 1, j = offset - 1; i < offset; ++i)
    printf("%*.*f\n", FIELD_WIDTH, PREC, matrix[i * SIZE + j]);
 
    for(i = offset - 2; i > 0; --i)
    printf("%*.*f\n", FIELD_WIDTH, PREC, matrix[i * SIZE + i]);
 
    putchar('\n');
    
    print(&matrix[SIZE + 2], offset - 3);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2012, 08:27
Помогаю со студенческими работами здесь

Вывести в порядке убывания все целые числа, расположенные в заданном диапазоне
3. Данные два целых числа А и В (А &lt; В). Вывести в порядке убывания все целые числа, расположенные между А и В (не включая числа А и В), а...

В заданном массиве вывести на консоль все элементы, удовлетворяющие условию
Дан целочисленный массив А размера 10. Вывести элементы массива Ак, которые удовлетворяют двойному неравенству А1&lt;Ак&lt;А10. Если таких...

Вывести элементы матрицы в определённом порядке
Вывести на экран элементы заданной матрицы А (4; 4) в следующем порядке: а (4, 4); а (4, 3); а (4, 2) а (4, 1) а (3; 1); а (3, 2); а (3;...

Вывести элементы матрицы в определенном порядке
создать программу, которая будет выводить элементы матрицы 1 5 6 0 1 4 0 0 1 в порядке: 1,4,1,6,5,1

Двумерные массивы: Расположить все элементы матрицы в строку в порядке возрастания
Двумерные массивы Задача: Расположить все элементы матрицы в строку в порядке возрастания.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru