Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка по фамилии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка точности http://www.cyberforum.ru/cpp-beginners/thread970799.html
Некоторая double переменная x равна 3.4. Домножив её на 1000, я получил 3400 (printf говорит, что всё верно), затем приведя её к типу int я получил (3399).. Я понимаю, точностью цифровая техника...
C++ ZLib Хай. Вобщем проблема такая: Нужно реализовать прогу архивации/разархивации, из нескольких либ выбрал ZLib`у, и тут то гемор, облазил кучу всего, но так и не удалось найти нормальный пример... http://www.cyberforum.ru/cpp-beginners/thread970790.html
C++ Оператор switch C++
Вместо вывода на экран отрицательных значений, работает default. Так же при вводе двухзначного числа выводит первую цифру этого же числа. Прошу помочь) #include <stdio.h> #include <conio.h> void...
Как извлечь только цифры из строки C++
Есть файл и в нем строки вида 00:00:00,000 --> 00:00:00,200 Нужно извлечь только цифры из каждой такой строки и одну часть с цифрами до "-->" в int переменную1, а другую часть с цифрами после "-->"...
C++ Последовательные контейнеры. Векторы http://www.cyberforum.ru/cpp-beginners/thread970727.html
Помогите, пожалуйста, как в изначально пустой вектор вставить 100 элементов путем вставки в СЛУЧАЙНУЮ ПОЗИЦИЮ. Случайная позиция генерируется каждый раз заново при вставке очередного элемента. И...
C++ программу,которая предлагает пользователю ввести требуемые данные помогите,пожалуйста,написать программу В соответствии с персональным вариантом задания написать программу, которая предлагает пользователю ввести требуемые данные (параметры A,B,C,D,G,M,N,K,W для... подробнее

Показать сообщение отдельно
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
07.10.2013, 12:23
Добавил вам метод setalf() и переделал метод spisalf(). Сортировка: пузырекю.

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
#include <conio.h> 
#include <string.h> 
#include <iostream> 
using namespace std;
struct date // дата 
{int day; 
int year; }; 
//======= class File ================= 
 
class File {
    char name[30]; //private 
    date t; 
    int obrash;
    int razmer;
public: 
    File(); 
    char *getalf();
    void setalf(char *);
    int getrazmer(); 
    int getobrash(); 
    void show(); 
};
 
File::File() {
    cout<<"Vvedite imya faila: "; cin>>name; 
    cout<<"Vvedite datu obrasheniya\n"; 
    cout<<"Den: "; cin>>t.day; 
    cout<<"God: "; cin>>t.year; 
    cout<<"Vvedite razmer: "; cin>>razmer; 
    cout<<"Vvedite kol-vo obrasheniy: "; cin>>obrash; 
    cout<<"\n";
}
 
void File::show() { 
    cout<<"Imya faila: "<<name<<endl; 
    cout<<"Data obrasheniya: "<<t.day<<'.'<<t.year<<endl; 
    cout<<"Razmer: "<<razmer<<endl; 
    cout<<"Kol-vo obrasheniy: "<<obrash<<endl; 
    cout<<"\n";
}
 
char *File::getalf() { return name; }
int File::getrazmer() { return razmer; } 
int File::getobrash() { return obrash; }
void File::setalf(char *inp_name) {
    strcpy(name, inp_name);
}
//список файлов по алфавиту
void spisalf(File spis[],int n) {
    cout<<"Spisok failov v alfavitnom poryadke:";  
    for(int i = 0; i < n; i++) {
        for(int j = n - 1; j > i; j--) {
            if(strcmp(spis[j].getalf(), spis[j - 1].getalf()) < 0) {
                char name[30];
                strcpy(name, spis[j].getalf());
                spis[j].setalf(spis[j - 1].getalf());
                spis[j - 1].setalf(name);
            }
        }
    }
}
 
//список файлов заданного размера
void spisrazmer(File spis[],int n) {
    int razm; 
    cout<<"Vvedite razmer: ";
    cin>>razm; 
    for(int i=0;i<n;i++) 
    if(spis[i].getrazmer() > razm)
        spis[i].show(); 
} 
 
//список файлов по дате обращения
void spisobrash(File spis[],int n) {
    int obr; 
    cout<<"Vvedite kol-vo obrasheniy: "; cin>>obr; 
    for(int i=0;i<n;i++) 
        if (spis[i].getobrash()> obr)
            spis[i].show(); 
} 
 
//========= main ================ 
int main() {
    File *spis; 
    int n; 
    cout<<"Vvedite kol-vo failov: ";
    cin>>n; 
    spis = new File [n]; 
 
    spisalf(spis,n);
    for(int i=0;i<n;i++) {
        cout<<"=============================="<<endl; 
        spis[i].show(); 
    } 
    //spisrazmer(spis,n); 
    //spisobrash(spis,n); 
    delete [] spis; 
    cout<<"Dlya prodoljeniya najmite lubyu knopku" ;
    while(!kbhit()); 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru