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

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

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

Показать сообщение отдельно
VEINHORN
542 / 91 / 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()); 
}
 
Текущее время: 23:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru