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

Вывод элементов матрицы в заданном порядке

26.12.2010, 11:59. Показов 2411. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделать обход матрицы n на n, в определённом порядке и вывести все элементы матрицы в таком порядке (пример):
7 11 14 16
4 8 12 15
2 5 9 13
1 3 6 10

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.12.2010, 11:59
Ответы с готовыми решениями:

Вывод матрицы в заданном порядке
Дана матрица размера M × N. Вывести ее элементы в следующем по- рядке: первая строка слева направо, вторая строка справа налево, третья...

Вывод в строку всех элементов матрицы в заданном порядке следования
написать программу решения задачи: ввода квадратной матрицы и вывода в строку всех ее элементов в заданном порядке следования....

Ввод квадратной матрицы и вывод в строку всех ее элементов в заданном порядке
написать программу решения следущей задачи:ввода квадратной матрицы и вывода в строку всех ее элементов в заданном ниже порядке следования ...

9
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
26.12.2010, 12:19
C++
1
2
3
4
5
6
7
        int i, j;
for(i=n-1; i>=0; i--)
    for(j=0; j<n-i; j++)
        cout<<a[i+j][j]<<" ";
for(i=1; i<n; i++)
    for(j=i; j<n; j++)
        cout<<a[j-i][j]<<" ";
0
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 9
26.12.2010, 16:28  [ТС]
хм, странно, в Unixe пишет
Segmentation fault (core dumped)

Добавлено через 53 секунды
кстати, программа пишется не на С++, а просто на С
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
26.12.2010, 19:44
neud, покажите весь код.
0
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 9
26.12.2010, 21:37  [ТС]
#include <stdio.h>
enum {maxn=7};
void Prt(int a[maxn][maxn],int size) //print of matrix
{
int i=0, j=0;
while(i<size)
{
while (j<size)
{
printf("%d ",a[i][j]);
j++;
if (j>=size) printf("\n");
}
i++;
j=0;
}
}
int main()
{
FILE *fp=fopen("m2.txt","r"); //GET MATRIX FROM FILE!
char c;
int size;
int a[maxn][maxn];
int i=0,j=0,element=0;
c=getc(fp);
while (c!=EOF)
{
size=(c-'0');
i=0;j=0;element=0;
c=getc(fp);
c=getc(fp);
while (i<size)
{
while((c!=' ')&&(c!='\n'))
{
element=element*10+(c-'0');
c=getc(fp);
}
a[i][j]=element;
j++;
element=0;
if (j>=size)
{
i++;
j=0;
}
c=getc(fp);
}
Prt(a,size);
putchar('\n');
//_____________________________

for(i=size-1; i>=0; i--)
for(j=0; j<size-i; j++)
printf("%d ", a[i+j][j]);
for(i=1; i<size; i++)
for(j=i; j<size; j++)
printf("%d ",a[j-i][j]);

}}
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
26.12.2010, 21:58
neud, Ужасный ввод данных, если честно.
Приведите пример, что у Вас в файле m2.txt записано, сейчас переделаем.
0
4 / 4 / 1
Регистрация: 23.12.2010
Сообщений: 27
26.12.2010, 22:15
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
#include <cstdlib>
#include <cstdio>
using namespace std;
 
int main(int argc, char** argv) {
    int n, s, m = 0, t, j;
    printf( "Введите количество строк и столбцов - ");
    scanf("%d", &n);
    int **a = new int*[n];
    for (int i = 0; i < n; i++) a[i] = new int[n];
    int *b = new int[m];
    for ( int i = 0; i < n; i++ ) {
        printf("\n");
        for ( int j = 0; j < n; j++ ) {
            a[i][j] = rand()%100;               //создаем массив из случайных чисел от 0 до 100
            printf("%d ", a[i][j]);             //контрольный вывод массива
        }
    }
    for ( int i = 0; i < n; i++ ) {
        for ( int j = 0; j < n; j++ ) {
            b[m] = a[i][j];                 //записываем элементы в одномерный массив
            m++;
        }
    }
    printf("\n");
    for ( int i = 1; i < m; b[j+1] = t, i++ ) {
        for ( t = b[i], j = i - 1; ( j > -1 && t < b[j] ); b[j+1] = b[j], j-- );   //сортировка одномерного массива
    }
    printf("\n");
    for ( int i = 0; i < m; i++ ) {
            printf("%d ", b[i]);                //вывод отсортированного массива
    }
    printf("\n");
    return 0;
}
0
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 9
26.12.2010, 22:29  [ТС]
valeriikozlov, если честно, то это чать задачи ( я про кошмарный ввод данных) (
m2.txt
3
1 2 3
3 4 5
1 3 6

т.е. любая матрица, 1ая строчка - размер

Добавлено через 6 минут
abyr, спасибо, но на чистом си нет таких вещей, как new int и т.д....а тут нужно почти на чистом си (это конечно глупо, но ничего не поделаешь()
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
26.12.2010, 22:36
пробуйте:
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
#include <stdio.h>
int const maxn=7;
void Prt(int a[maxn][maxn],int size) //print of matrix
{
int i=0, j=0;
while(i<size)
{
while (j<size)
{
printf("%d ",a[i][j]);
j++;
if (j>=size) printf("\n");
}
i++;
j=0;
}
}
int main()
{
freopen("m2.txt","r",stdin); //GET MATRIX FROM FILE!
int size, i, j;
int a[maxn][maxn];
scanf("%d", &size);
for(i=0; i<size; i++)
    for(j=0; j<size; j++)
        scanf("%d", &a[i][j]);
 
Prt(a,size);
putchar('\n');
//_____________________________
 
for(i=size-1; i>=0; i--)
for(j=0; j<size-i; j++)
printf("%d ", a[i+j][j]);
for(i=1; i<size; i++)
for(j=i; j<size; j++)
printf("%d ",a[j-i][j]);
 
}
2
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 9
26.12.2010, 22:49  [ТС]
спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2010, 22:49
Помогаю со студенческими работами здесь

Отображение элементов матрицы в DataGridView в заданном порядке
Друзья!, помогите улучшить прогу, вот вам код: using System; using System.Collections.Generic; using System.ComponentModel; using...

Напечатать значения матрицы в заданном порядке следования элементов
Задание: (Язык Си) 7 8 9 10 6 15 16 11 5 14 13 12 4 3 2 1 спасибо.

Вывод элементов матрицы в определенном порядке
Дана квадратная матрица А порядка М. Начиная с элемента А 1,1, вывести её элементы следующим образом (&quot;уголками&quot;): все элементы...

Сформировать из матрицы A матрицу B, располагая в ней строки матрицы А в порядке, заданном массивом P
Массив данных A размерностью MxN задано пользователем с клавиатуры вместе со значениями параметров M и N. Кроме того задано одномерный...

вывод алфавита в заданном порядке
нужно сделать вывод букв английского алфавита в виде я смог вывести его в таком порядке, но только от z до а. почему-то не могу...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru