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

Найти в массиве сведений о компьютерах такой, который был выпущен позднее других - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти все корни функции f(x) на интервале [-1;1] методом дихотомии с погрешностью 0.02. f(x)= (e^x)-arccos(x) http://www.cyberforum.ru/cpp-beginners/thread1495909.html
Найти все корни функции f(x) на интервале методом дихотомии с погрешностью 0.02. f(x)= (e^x)-arccos(x). Помогите пожалуйста.
C++ Рекурсивная подпрограмма, исключающая из заданной строки заданный символ Всем привет. Задача: Описать рекурсивную подпрограмму, исключающую из заданной строки заданный символ. Помогите, пожалуйста, кому не трудно. http://www.cyberforum.ru/cpp-beginners/thread1495908.html
C++ Вычисление функции на заданном промежутке, и построение графика этой функции
Написать блок-схему и программу вычисления функции на за- данном промежутке с шагом 0.2 и построить график этой функции. Если x>1 0≤x≤1 x<1 Промежуток исследования \begin{cases}\tan...
Error MSB6006: "cmd.exe" exited with code 3 C++
Переустановил Виндовс после компиляции сервера. выдает такую ошибку ,помогите пожалуйста как исправить 1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Release Win32 ------ 1> ...
C++ Поиск файлов по расширению http://www.cyberforum.ru/cpp-beginners/thread1495885.html
Надо написать консольное приложение, где входными данными были бы путь к каталогу и расширения файлов, которых мы ищем. Внутри каталога могут быть вложенные папки, чтоб программа и во вложенных...
C++ Вывести все четные числа, кратные пяти, в интервале от 2 до 100 включительно Составить блок-схему алгоритма и программу согласно зада- нию. Вывести все четные числа кратные пяти в интервале от 2 до 100 вклю- чительно. подробнее

Показать сообщение отдельно
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
09.07.2015, 17:21
Очень укрупненно и упрощенно. Естественно нужно написать функции печати, дописать остальные функции.
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
#include <iostream>
#include <string>
 
struct Data{
        size_t day, month, year; 
    };
 
struct Computer{
    std::string cpu_name;
    double cpu_freq;
    size_t ram;
    size_t video_ram;
    size_t hdd_capacity;
    bool isSCSIPresent;
    Data date_of_prod;
   };
 
void set_data(Data &d){
    // здесь нужно написать ввод даты с проверкой
    // корректности вводимыащкх значений
    std::cin >> d.day; 
    std::cin >> d.month;
    std::cin >> d.year;
    }
    
void set_comp(Computer &c){
    // здесь нужно написать ввод данных
    // со всеми проверками
    std::cin >> c.cpu_name;
    //...
    set_data(c.date_of_prod);
    }
bool isGreater(Data &d1, Data &d2){
    return d1.year>d1.year || ((d1.year==d2.year) && (d1.month>d1.month)) ||
        ((d1.month==d1.month) && (d1.day>d2.day));
    }
    
int find (Computer *comps, size_t sz, size_t ram, size_t hdd_cap){
    Data d;
    int ind=-1;
    d.year=0;
    d.month=0;
    d.day=0; 
    for(size_t i=0; i<sz; ++i){
        if(comps[i].ram==ram && comps[i].hdd_capacity==hdd_cap)
            if (isGreater(comps[i].date_of_prod, d)) 
                d=comps[i].date_of_prod;
                ind=i;
        }
    return ind; //
    }
    
int main(){
    const int n=10;
    Computer comps[n];
    for (int i=0; i<n; ++i){
        Computer comp;
        set_comp(comp);
        comps[i]=comp;
        }
    int ind=find(comps, n, 1000, 1000);
    if(ind >-1)
        // здесь печатаем парамктры, как-то так
        std::cout << comps[ind].cpu_name; // и т.д.
    else 
        std::cout << "Net compov udovlet uslovie";
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru