Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2017, 00:10   #1
D3ad ARbuZzz
Новичок
Джуниор
 
Регистрация: 19.11.2017
Сообщений: 1
Сообщение Язык Си...Нужно загнать одномерный массив в двухмерный

Составить программу сортировки элементов двумерного квадратного массива размером 6х6 по указанным правилам. (Стрелка указывает направление от малого до великого элемента.В масиве могут быть любые значения...Я загнал только массив b в массив а,ещё нужно загнать массив с в массив а в таком же порядке...
Записати.PNG
Я почти всё сделал.Осталось как-то внести масив c в масив a,в таком же порядке..Но я не знаю как.Помогите,пж.Заранее спасибо)
Код:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
#define N 6
int main()
{
    int a[N][N], b[N - 1], c[N * 3];
    int i, j, k, tmp;
    srand(time(0));
    for (i = 0; i < N; i++)
        //Масив а
    {
        printf("\n");
        for (j = 0; j < N; j++)
        {
            a[i][j] = rand() % 100;
            printf("%3d", a[i][j]);
        }
    }
    //Масив b
    for (i = 0; i < N - 1; i++)
    {
        b[i] = a[N - 2 - i][i];
        //printf("\n%3d", b[i]);
    }
    //Сортуэмо масив В
    for (k = N - 1; k >= 0; k--)
        for (i = 0; i<k; i++)
            if (b[i] < b[i + 1])
            {
                tmp = b[i + 1];
                b[i + 1] = b[i];
                b[i] = tmp;
            }
    //Масив с
    k = 0;
    for (i = 1; i <= N; i++)
    {
        c[k] = a[N - i][i - 1];
        k++;
        //printf("\n%3d", c[i]);
    }

    for (i = 1; i < N; i++)
    {
        c[k] = a[i][N - 1];
        k++;
        //printf("\n%3d", c[i+6+5]);
    }

    for (i = 1; i < N - 1; i++)
    {
        c[k] = a[N - 1][N - 1 - i];
        k++;
        //printf("\n%3d", c[i + 6 + 5+4]);
    }


    for (i = 1; i < N - 2; i++)
    {
        c[k] = a[N - 1 - i][N + i - 5];
        k++;
        //printf("\n%3d", c[i + 6 + 5 + 4+3]);
    }
    //Масив с
    for (k = N * 3 - 1; k >= 0; k--)
        for (i = 0; i<k; i++)
            if (c[i] > c[i + 1])
            {
                tmp = c[i + 1];
                c[i + 1] = c[i];
                c[i] = tmp;
            }
    for (i = 0; i < N * 3; i++)
    {
        printf("\n%3d", c[i]);
    }
//Вывод окончательного масива
    //printf("\n");
    for (i = 0; i < N; i++)
    {
        //printf("\n");
        for (j = 0; j < N; j++)
        {
            a[i][N - 2 - i] = b[i];
            //printf("%3d", a[i][j]);
        }
    }
    getch();
    return 0;
}

Последний раз редактировалось Alex11223; 19.11.2017 в 00:16.
D3ad ARbuZzz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык С: одномерный массив fraKristina Помощь студентам 1 29.12.2014 21:20
Одномерный и Двухмерный массив РэБ Помощь студентам 2 28.12.2010 00:20
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный масив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28