Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Работа с двумерным массивом как сделать сортировку
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Дмитор Дмитор вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.02.2011
Question Работа с двумерным массивом как сделать сортировку - 21.02.2011, 23:29

как поправить мой массив чтобы получился массив вида:
0 0 0 1
4 3 2 1
0 3 2 1
0 0 2 1

и отсортировать во позрастанию элементов в каждой строке.

#include <stdio.h>
#include <stdlib.h>
#define LEN 4
void create(int a[LEN][LEN])
{
int i,j;
for(i=0;i<LEN;i++)
for(j=0;j<LEN;j++)
if (i<=j) a[i][j]=LEN-j;
else a[i][j]=0;
}

void print_my(int a[LEN][LEN])
{
int i,j;
for (i=0;i<LEN;i++)
{
for (j=0;j<LEN;j++)
printf(" %3d",a[i][j]);
printf("\n");
printf("\n");
}
}

void sort(int a[LEN][LEN])
{
int i,j,s;
for(i=0;i<LEN;i++)
s=a[i][0]; printf(" %d\n",s);j=0;
//for (j=0;j<LEN;j++)
while(j<LEN)
{
if(a[i][j+1]<a[i][j])
{
s=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=s;
j=0;
}
else j++;
}
}

void main()
{
int a[LEN][LEN];
create(a);
print_my(a);
sort(a);
printf("----------------------");
printf("\n");
print_my(a);
getchar();
}
Ответить с цитированием
  (#2 (permalink)) Старый
Джеки Джеки вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.12.2010
По умолчанию 24.02.2011, 14:12

c Код:
#include <stdio.h>
#define LEN 4
void create (int a[LEN][LEN])
{
    int i, j;

    for ( j = 0, i = 0; j < LEN; ++j ) {
      a[i][j] = 0;
      if ( j == 3 )
        a[i][j] = 1;    
    }        
   
    for(i=1;i<LEN;i++)
      for(j=0;j<LEN;j++)
        if (i-1<=j)
          a[i][j]=LEN-j;
        else a[i][j]=0;
}

void print_my (int a[LEN][LEN])
{
    int i,j;
   
    printf("\n");
    for (i=0;i<LEN;i++)
    {
      for (j=0;j<LEN;j++)
          printf(" %3d",a[i][j]);
      printf("\n");
      printf("\n");
    }
}

void sort (int a[LEN][LEN])
{
    int i, j, s = 0;
    int temp;
     
    for ( i = 0; i < LEN; ++i ) {
      for ( j = 0; j < LEN; ++j )
        for ( s = j + 1 ; s < LEN; ++s )
          if ( a[i][j] > a[i][s] ) {
            temp = a[i][j];
            a[i][j] = a[i][s];
            a[i][s] = temp;
          }                            
    }
}    

int main (void)
{
    int a[LEN][LEN];
   
    create(a);
    print_my(a);
    sort(a);
    printf("-------------------\n");    
    print_my(a);
    getchar();

    return 0;    
}

Вот.. Всё работает
Правильно ли понял, как надо отсортировать?
Ответить с цитированием
  (#3 (permalink)) Старый
Дмитор Дмитор вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.02.2011
По умолчанию 25.02.2011, 22:02

Спасибо Джеки!!! все работает!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с двумерным массивом Timur Pascal 1 20.11.2011 14:50
Как сделать сортировку данных Vitas1983 Вопросы начинающих программистов 0 26.03.2011 16:30
Работа с компонентами как с массивом nattaella Delphi 4 13.01.2011 11:40
Как сделать быструю сортировку Stopafilm Алгоритмы 2 01.08.2010 18:23
Работа с массивом строк OEM .NET 1 11.12.2009 19:12
Работа с массивом fredwriter Pascal 1 03.11.2009 22:16
Работа с массивом fredwriter Pascal 16 28.10.2009 03:05
Работа с Shape как сделать чтобы можно было с ними взаимодействовать как с массивом N1K C++ Builder 2 27.12.2006 01:02
Как сделать сортировку текста при помощи SQL Хочу быть программистом C++ Builder 6 24.05.2006 00:32
Работа с массивом SashaBeliy Visual Basic 1 17.04.2006 14:06
Как сделать сортировку на Фортране Anonymous Вопросы начинающих программистов 1 23.06.2004 06:57
Работа с массивом char result Alan Вопросы начинающих программистов 4 09.06.2004 20:51



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов