0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 14
1

Сортировка методом простого двухпутевого слияния

25.05.2012, 13:06. Показов 6436. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с прогой для лабараторной:написать программу,которая будет брать числа из файла,преобразовывать в массив,потом сортировать методом простого двухпутевого слияния и уже отсортированные числа записывать обратно в файл!+ ко всему этому нужно сделать таймер,который замерит время,за которое прошла сортировка!
я в этом очень плаваю,а к сессии нужно сделать и сдать,помогите,если не лень!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 13:06
Ответы с готовыми решениями:

Сортировка методом простого выбора (пузырьком)
нужна помощь 1)написать программу сортировки методом простого выбора(методом пузырька) элементов...

Сортировка массива методом естественного двухпутевого слияния
Всем привет! Вот задали задачку такую, и что - то никак не могу алгоритм сортировки реализовать:...

Сортировка входного файла методом простого слияния
Разработать программу, обеспечивающую сортировку входного файла методом простого слияния файлов с...

Сортировка последовательности целых чисел методом прямого слияния и методом цифровой сортировки
Задание звучит вот так: 1.Разработать процедуры сортировки последовательности целых чисел методом...

7
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
25.05.2012, 13:19 2
Что именно вам помочь сделать?

1) Чтение из файла: System.IO и StreamReader
2)
Преобразовать в массив.
Есть разные способы. Можно посимвольно читать, или разделять по символу. Как записаны числа в файле?

3)
Сортировка.
Впервые слышу про такой способ сортировки, почитаю - отпишусь. Если есть какие материалы по нему - кидайте.

4) Запись в файл: System.IO и StreamWriter
0
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 14
25.05.2012, 13:32  [ТС] 3
ну мне желательно помочь со всем этим,ну то есть написать прогу,если не сложно,а то я совсем запустила программирование,а сдавать в понедельник,боюсь не успею сама понять все
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
25.05.2012, 13:58 4

Не по теме:

Цитата Сообщение от TaiSHA Посмотреть сообщение
а то я совсем запустила программирование,а сдавать в понедельник
Стандартная ситуация))))


Ладно, помогу чем смогу.

Добавлено через 22 минуты
Извиняюсь, но нужно отойти на пару часов, вот наброски, осталось только осуществить сортировку правильно. я пока что бы не было пустого места стандартную прилепил.

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
using System;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static string input;
        static int[] InPutMass = new int[input.Length];
 
        static void Main(string[] args)
        {
            input = File.ReadAllText("input.txt"); //Читаем из файла
 
            Console.WriteLine("Нажмите клавишу что бы начать сортировку...");
            Console.ReadKey();
 
            for (int i = 0; i < input.Length; i++)
            {
                InPutMass[i] = int.Parse(input[i].ToString());
            }
 
            Array.Sort(InPutMass);
 
            foreach (int i in InPutMass)
                Console.Write(i);
 
            Console.ReadKey();
        }
    }
}
P.S. В файле просто число, например 159648
1
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 14
25.05.2012, 14:21  [ТС] 5
совсем забыла,в задании еще даны файлы для сортировки,не знаю важно ли какой там файл,но вот
Вложения
Тип файла: rar new_files_1.rar (3.88 Мб, 42 просмотров)
0
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
25.05.2012, 15:54 6
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace example1111
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            StreamWriter sw;
            FileInfo fi = new FileInfo("zero.txt");
            sw = fi.AppendText();
            sw.Close();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            StreamReader reader = new StreamReader("06553610012.txt");
            string[] split;
            string readLine;
            readLine = reader.ReadLine();
            split = readLine.Split(' ', '\n');  
            reader.Close();
            int n = Convert.ToInt32(split.Length);
            long[] arr = new long[n];
            for (int i = 0; i < n; i++)
            {
              arr[i] = int.Parse(split[i]);
            }
               Array.Sort<long>(arr);
            
 
 
               StreamWriter sw;
               FileInfo fi = new FileInfo("zero.txt");
               for (int i = 0; i < arr.Length; i++)
               {
                   sw = fi.AppendText();
                   sw.Write(arr[i] + " ");
                   sw.Close();
               }
     
        }
    }
}
закидываете файли в папку ...\bin\Debug и в строчке
C#
1
StreamReader reader = new StreamReader("06553610012.txt");
пишите названия файла.
и поубирайте пробели в конце .txt файлов иначе работать не будет

Добавлено через 34 минуты
чтоб щитало время.
добавте на форму лейбл.
в обработчике баттон, самую первую строчку вставте

C#
1
DateTime dt = DateTime.Now;
а в самом конце

C#
1
2
TimeSpan sp = DateTime.Now - dt;
               label1.Text = sp.ToString();

или второй вариант.

C#
1
2
3
4
5
6
7
private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Stopwatch time = new System.Diagnostics.Stopwatch();
            time.Start();
           // весь код что здесь был
            label1.Text = time.Elapsed.ToString();
        }
1
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 14
28.05.2012, 15:58  [ТС] 7
а можете полностью консольное приложение написать,целиком,а то я может чего не правильно сделала,но у меня не работает(если не сложно напишите целиком все вместе!
0
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
28.05.2012, 16:55 8
не забудьте переместить нужные текстовые файлы, которые нужно сортировать в \название проэкта\bin\Debug

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = DateTime.Now;
             // если не хотите вводить название файла, то вместо впишете названия вашего файла.
            Console.WriteLine("Введите название файла");
            string s = Console.ReadLine();
            StreamReader reader = new StreamReader(s + ".txt");
            string[] split;
            string readLine;
            readLine = reader.ReadLine();
            split = readLine.Split(' ', '\n');
            reader.Close();
            int n = Convert.ToInt32(split.Length);
            long[] arr = new long[n];
            for (int i = 0; i < n; i++)
            {
                arr[i] = int.Parse(split[i]);
            }
            Array.Sort<long>(arr);
 
 
 
            StreamWriter sw;
            FileInfo fi = new FileInfo("zero.txt");
            for (int i = 0; i < arr.Length; i++)
            {
                sw = fi.AppendText();
                sw.Write(arr[i] + " ");
                sw.Close();
            }
 
            TimeSpan sp = DateTime.Now - dt;
            Console.WriteLine("Время записи: " + sp.ToString());
            Console.ReadLine();
     
        }
    }
}
1
28.05.2012, 16:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2012, 16:55
Помогаю со студенческими работами здесь

Ускоренная сортировка методом пузырька и методом слияния
Друзья помогите. Условие задачи: Составить две программу, которые реализуют алгоритм ускоренной...

Сортировка методом слияния
Применяя сортировку методом слияния, отсортировать массив, файл, список, элементами которых ...

Сортировка методом слияния
Народ помогите с сортировкой списка слиянием! Вот нашел код в интернете но не как не могу...

Сортировка методом прямого слияния
Помогите,отсортировать строки текстового файла в алфавитном порядке методом прямого слияния ...

Нисходящая сортировка методом слияния
Добрый день ребята!!! Мне нужно сделать нисходящею сортировку методом слияния! Я набросал...

Сортировка массива методом слияния
Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru