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

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.06.2009, 15:40
Новичок

Отправить личное сообщение для Revares Посмотреть профиль Найти все сообщения от Revares
 
Регистрация: 30.06.2009
Сообщений: 3

Вертикальная сортировка массива
На входе:
1. массив с произвольным количеством элементов.
2. кол-во столбцов.

На выходе:
Отсортированный массив элементов, напечатанный в виде таблицы.
В таблице не должно быть пустых или пропущенных столбцов.

Например:

Вход: 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'; N = 6;

Выход:
Отсортированный массив элементов, напечатанный в виде таблицы.
В таблице не должно быть пустых или пропущенных столбцов.

A C E G I J
B D F H

Использовать двумерный массив нельзя.
Подскажите в каком направлении двигаться.

Последний раз редактировалось Revares, 30.06.2009 в 15:44.
  #2  
Старый 30.06.2009, 15:45
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

А что именно непонятно?
  #3  
Старый 02.07.2009, 13:33
Новичок

Отправить личное сообщение для Revares Посмотреть профиль Найти все сообщения от Revares
 
Регистрация: 30.06.2009
Сообщений: 3

У меня получается просто отсортировать вертикально, но при этом не всегда все столбцы заполнены...
  #4  
Старый 02.07.2009, 14:37
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

Критерии расположения не определены однозначно.
Например, такой расклад
A D G H I J
B E
C F
тоже удовлетворяет правилу - 6 столбцов, пустых нет.
Ладно, возьмем правило - минимум строк.
пусть длина массива M.
Тогда строк полной длины будет L = M div N, и, возможно, одна строка будет длиной K = M mod N (если N делит M нацело, то такой строки не будет)
1. Просто сортируем массив
2. Если K <> 0, выводим в K столбцов высотой L+1 начальные элементы массива "пилой" (два вложенных цикла), затем остаток - столбцы высотой L
  #5  
Старый 03.07.2009, 07:01
Новичок

Отправить личное сообщение для Revares Посмотреть профиль Найти все сообщения от Revares
 
Регистрация: 30.06.2009
Сообщений: 3

В конце концов так и сделал кстати.
  #6  
Старый 18.10.2010, 22:32
Новичок

Отправить личное сообщение для kozak_serg Посмотреть профиль Найти все сообщения от kozak_serg
 
Регистрация: 24.02.2010
Сообщений: 1

Сообщение от Revares Посмотреть сообщение
На входе:
1. массив с произвольным количеством элементов.
2. кол-во столбцов.

На выходе:
Отсортированный массив элементов, напечатанный в виде таблицы.
В таблице не должно быть пустых или пропущенных столбцов.
Ось приклад програми яку розробив на с++, думаю знадобиться при сортуванні стовпчика. =>

#include <cstdlib>
#include <iostream>
#include<stdio.h>
#include<stdlib.h>

using namespace std;

int main()
{
int n=6,m=5;
int mass [n][m];

for (int i=0; i<n;i++){
for(int j=0; j<m; j++){
mass[i][j]=rand()%100;
cout<<mass[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;cout<<endl;



for (int k = n+1; k > 0; k--){
int g=0;
for(int m1 = m;m1 >= 0;m1--){
for(int n1 = n;n1 > 0;n1--){
if (mass[n1][m1] < mass[n1-1][m1]){
g = mass[n1][m1];
mass[n1][m1]=mass[n1-1][m1];
mass[n1-1][m1]=g;

}

}
}

}



for (int i=0; i<n;i++){
for(int j=0; j<m; j++){
cout<<mass[i][j]<<" ";
}
cout<<endl;
}



system("PAUSE");

}

Код не оптимізований можна багато чого ще дописати щоб меньше займав та легше працював... одним словом на швидку руку
 


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

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите плиз (сортировка двоичного массива) незарегистрированный Сортировка и поиск 9 11.11.2010 21:22
Сортировка массива Amir Математические алгоритмы (другое) 4 05.06.2008 15:59
Возвращение массива Антон Реализация, исходники, языки 2 01.06.2008 15:08
Преобразование отсортированного массива pilgrim Математические алгоритмы 4 15.03.2008 19:09
Круговая, Вертикальная видимость. Граф Видимости. shtasik Вычислительная геометрия 0 21.01.2008 20:52