Форум программистов, компьютерный форум CyberForum.ru

Чтение чисел из файла, сортировка и вывод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ввод string-а http://www.cyberforum.ru/cpp-beginners/thread251982.html
Как написать во входных данных 2 строки первая с данными а второя пустая ннапишите как написать вторую строку??
C++ Вывод на экран месяцев года необходимо после определённой сортировки вывести на экран несколько месяцев года, которые должны быть записаны в виде римских цифр. есть какой-то ключ (%...) по этому поводу (возможно чисто для линукса) или как ещё это сделать? http://www.cyberforum.ru/cpp-beginners/thread251977.html
добавьте какие-нибудь функции в список C++
// List_s.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <string.h> #include <malloc.h> #include <stdio.h> #include "List.h" //Статическая функция элемента списка static LIST* create(LIST *pItem)
конечный автомат C++
построить на листке бумаге конечный автомат выдающий остаток отделения вводимого 10 числа на 3
C++ Функция CreateWindow http://www.cyberforum.ru/cpp-beginners/thread251950.html
#include <windows.h> ... hMainWnd = CreateWindow( szClassName, "A Hello1 Application", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, (HWND)NULL, (HMENU)NULL, (HINSTANCE)hInstance, NULL); Недавно начал изучать WIN API и столкнулся с ещё одной проблемой: CreateWindow подчёркнуто красным пи наведении на неё мышью написано: аргумент типа "char *" несовместим с параметром...
C++ Найти багаж, средний вес одной вещи в котором отличается не более, чем на 0.3 кг от общего среднего веса одной вещи Вот задачка, с которой нужно справиться: Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). a) Найти багаж, средний вес одной вещи в котором отличается не более, чем на 0.3 кг от общего среднего веса одной вещи. ... подробнее

Показать сообщение отдельно
Millen
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 17

Чтение чисел из файла, сортировка и вывод - C++

04.03.2011, 10:30. Просмотров 2664. Ответов 3
Метки (Все метки)

написать 4 функции, сортирующие массив целых чисел 4 способами:
- методом пузырька
- методом вставки
- методом выбора
- быстрая сортировка (можно воспользоваться функцией qsort).

Аргументы командной строки: сначала номер способа, потом числа.

Делал для сортировки из командной строки.

sort
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
#include "stdafx.h"
#include<iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "sort.h"
using namespace std;
 
int main(int argc, char* argv[])
{setlocale(0,"");
if (argc > 1)
{
int* forSorting = new int[argc - 1];
int method = atoi(argv[1]);
for (int i = 1; i < argc - 1; i++)
forSorting[i] = atoi(argv[i+1]);
bool sucsess = true;
switch (method)
{
case 1:
pyzir(forSorting, argc - 1); break;
case 2:
vstavk(forSorting, argc - 1); break;
case 3:
vibor(forSorting, argc - 1); break;
case 4:
qsort(forSorting, argc - 1, sizeof(int), compare); break;
default:
{
printf("%s", "Неверный номер метода сортировки\n");
sucsess = false;
}
}
if(sucsess)
{
printf("%s", "Сортированная строка: ");
for (int i = 1; i < argc - 1; i++)
printf("%d%s",forSorting[i], " ");
}
 
delete [] forSorting;
}
 
return 0;
}
sort.cpp
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
59
#include "stdafx.h"
#include<iostream>
#include<time.h>
 
#include <math.h>
 
#include <stdlib.h>
 
 
void pyzir(int *mas,const int prob)
{//сортировка пузырьком
    int x;
    for(int i=0;i<prob;i++)
     {            
         for(int j=prob-1;j>i;j--)
           {     
               if(mas[j-1]>mas[j])
                  {
                    x=mas[j-1];
                    mas[j-1]=mas[j];
                    mas[j]=x;
                  }
           }
     }
}
 
void vstavk(int *mas,const int prob)
{//сортировка вставками
int x,j,i;
  for (i=0; i < prob; i++) 
  {  // цикл проходов, i - номер прохода
    x = mas[i];   
        // поиск места элемента в готовой последовательности 
    for ( j=i-1; j>=0 && mas[j] > x; j--)
      mas[j+1] = mas[j];    // сдвигаем элемент направо, пока не дошли
        // место найдено, вставить элемент
    mas[j+1] = x;
  }
}
 
void vibor(int *mas,const int prob)
{//сортировка методом выбора
    for(int i=0;i<prob-1;i++)
{
int imin=i;
for(int j=i+1;j<prob;j++)
if(mas[j]<mas[imin]) imin=j;
int a=mas[i];
mas[i]=mas[imin];
mas[imin]=a;
}
}
 
 
 
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
sort.h
C++
1
2
3
4
void pyzir(int *mas,const int prob);
void vstavk(int *mas,const int prob);
void vibor(int *mas,const int prob);
int compare (const void * a, const void * b);
теперь нужно, чтобы числа он брал из файла, сортировал их и записывал в этот же файл. Аргументы командной строки: сначала номер способа, потом файл, в котором записаны числа.
Подскажите, пожалуйста, а то с файлами у меня беда.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru