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

Сортировка массивом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Файл. Потоки http://www.cyberforum.ru/cpp-beginners/thread434607.html
Здравствуйте, необходимо читать из файла числа, пользуясь потоками. Найдя максимальное число - затереть его пробелами. как мне быть?(не занося все числа в массив и не выводя заново массива в файл без макс. числа) Добавлено через 13 минут пока накидал только это, а вот как удалять - раз, два - не происходит вывод на экран перем. biggest, и КАК ПЕРЕМЕЩАТЬСЯ К СЛЕД. ЧИСЛУ В ФАЙЛЕ??int _tmain(int...
C++ Вопрос к "бывалым" Есть задача - нужно создать программу обучения английскому языку. - На ней должна быть табличка,которую можно править и которая реагирует на события, некоторые кнопки, она должна без проблем работать с бинарными файлами и иметь возможность "уходить" в трей. Что знаю: С++ - консоль, классы на среднем уровне. Имею опыт работы с .Net v4.0, Visual Studio. Посоветуйте библиотеку, под которой... http://www.cyberforum.ru/cpp-beginners/thread434602.html
Помогите вписать куб в конус C++
Ребят всем привет! Помогите вписать куб в конус,чтобы куб касался краёв конуса своими углами! #include <iostream.h> #include <conio.h> #include <graphics.h> #include <string.h> #include <math.h> // Класс "Фигура" (базовый Класс)
C++ Работа со строкой без библиотечных функций
Дана строка типа "abc xyz dea" На выходе расположить слова в алфавитном порядке первых букв, т.е. "abc dea xyz" Не могу раскрутить алгоритм...
C++ Компиляция на VS2010 http://www.cyberforum.ru/cpp-beginners/thread434590.html
Во вложенном архиве в папке src лежат исходники open source проекта. По каким-то причинам, в том числе показанным на скриншотах, не могу откомпилироваться ни на Visual Studio 2010, ни в Visual C++ 6. В папке doc лежит документация или тут: 17. The SWISSEPH DLLs. А в папке bin то, что должно получиться на выхлопе, но хотелось бы воспроизвести всё самому. Помогите выявить причину.
C++ Защита от некорректного ввода в меню/выборе размерности матрицы Здравствуйте, появилась проблема, сделал код, но не знаю как запилить защиту от некорректного ввода в выборе пункта меню и выборе размерности массива... Плюс ко всему, не знаю как сделать так, чтобы программа показывала, номер элемента массива который вводиться пользователем... Помогите пожалуйста! Очень нужно! #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h>... подробнее

Показать сообщение отдельно
Sobaka_ru
2 / 2 / 0
Регистрация: 16.12.2010
Сообщений: 75
24.01.2012, 22:00     Сортировка массивом
Какой метод сортировки тут используется????
Можно ли как нибудь подстроить под метод подсчета???
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "stdafx.h"
#include <conio.h>
#include <cstring>
#include <cstdio>
#include <iostream>
using namespace std;
 
const int N = 5;
struct Racer
{
 char name[40];
 int championship;
 int victories;
 int pole_pozition;
};
typedef Racer *pRacer;
 
//============================================
// Filling an array of structures.
Racer filling_struct(Racer ob[], const int N)
{
 strcpy(ob[0].name, "Fernando Alonso");
 ob[0].championship = 2;
 ob[0].victories = 32;
 ob[0].pole_pozition = 26;
 
 strcpy(ob[1].name, "Michael Shumacher");
 ob[1].championship = 7;
 ob[1].victories = 91;
 ob[1].pole_pozition = 67;
 
 strcpy(ob[2].name, "Lewis Hamilton");
 ob[2].championship = 1;
 ob[2].victories = 26;
 ob[2].pole_pozition = 19;
 
 strcpy(ob[3].name, "Felipe Massa");
 ob[3].championship = 0;
 ob[3].victories = 18;
 ob[3].pole_pozition = 15;
 
 strcpy(ob[4].name, "Sebastjan Vettel");
 ob[4].championship = 2;
 ob[4].victories = 28;
 ob[4].pole_pozition = 27;
 
 return *ob;
}
//============================================
// QuickSort.
void QuickSort(Racer ob[], int left, int right)
{
 pRacer p[5];
 for(int i=0; i<N; i++)
  p[i] = &ob[i];
 
 int i, j;
 int x;
 
 i = left; j = right;
 x = p[(left+right)/2]->victories;
 
 do
 {
    while((p[i]->victories < x) && (i < right)) i++;
    while((x < p[j]->victories) && (j > left)) j--;
 
    if(i <= j)
    {
       swap(p[i], p[j]);
       i++; j--;
    }
 }
 while(i <= j);
 
 if(left < j) QuickSort(ob, left, j);
 if(i < right) QuickSort(ob, i, right);
 
 FILE *fout;
 fout = fopen("C:\\Users\\1\\Documents\\Visual Studio 2008\\Projects\\0001)\\MStruct_in_File(QuickSorting)\\Debug\\output.txt", "w");
 for(int k1=i; k1<N; k1++)
  fprintf(fout, "%20s   %6d   %6d   %6d\n", p[k1]->name, p[k1]->championship, p[k1]->victories, p[k1]->pole_pozition);
 for(int k2=i-1; k2>=0; k2--)
  fprintf(fout, "%20s   %6d   %6d   %6d\n", p[k2]->name, p[k2]->championship, p[k2]->victories, p[k2]->pole_pozition);
 fclose(fout);
}
//============================================
// Record in the file.
void Record(Racer ob[], const int N)
{
 FILE *fin;
 fin = fopen("C:\\Users\\1\\Documents\\Visual Studio 2008\\Projects\\0001)\\MStruct_in_File(QuickSorting)\\Debug\\input.txt", "w");
 for(int i=0; i<N; i++)
  fprintf(fin, "%20s   %6d   %6d   %6d\n", ob[i].name, ob[i].championship, ob[i].victories, ob[i].pole_pozition);
 fclose(fin);
}
//============================================
 
int main()
{
 Racer R[N];
 *R = filling_struct(R, N);
 
 Record(R, N);
 
 QuickSort(R, 0, N-1);
  //_getch();   
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru