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

Описать структуру с именем ZNAK - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки И Файлы http://www.cyberforum.ru/cpp-beginners/thread579300.html
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
C++ Матрицы: Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества Добрый день дорогие программисты, прошу помочь написать программу. Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента. http://www.cyberforum.ru/cpp-beginners/thread579294.html
листинг програмки коммутатора C++
не совсем разобрался с флагами..
C++ Принадлежит ли точка с координатами (х,у) объединению закрашенных областей данного графика
Доброго времени суток всем! Ребят кто, что сможет если есть время помогите решить что-нибудь. До сессии неделя осталась, я колом по с++. Прикрепил файлик, там 4 задачки. Задача 1. Составьте программу, которая определяет, принадлежит ли точка с координатами (х,у) объединению закрашенных областей данного графика. Значения координат ввести c клавиатуры. Ответ в развернутом виде вывести в...
C++ Ошибки при компиляции http://www.cyberforum.ru/cpp-beginners/thread579273.html
Есть программа: #include <stdio.h> #include <io.h> #include <iostream.h> #define MEN 2 #define LF 10 #define SPACE 32 #define ORIGINAL_MAZE 0 #define MAZE_WITH_PATH 1
C++ Найти символ в тексте уже битый час сижу и ломаю голову над задачей... весь интернет перерыл в поисках ответа... в общем нужно узнать сколько раз встречается буква "а" в тексте... использовал и count() и find() ничего не получается читал мануалы по векторам но все равно к успеху не привело... что вообще я не правильно делаю ? и обьясните если не трудно как пользоваться вектором #include "stdafx.h" #include... подробнее

Показать сообщение отдельно
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
14.12.2015, 13:11     Описать структуру с именем ZNAK
ITALIANO, я же для тебя показал наиболее простой способ. Описываешь дополнительную функцию, в которой переводишь дату в наиболее удобную единицу. И такие удобные единицы сравниваешь между собой.

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
#include <iostream>
#include "string.h"
 
const int N = 256;
 
//Описание структуры по заданию
struct Znak
{
    char
        FirstName[N],
        LastName[N],
        Zodiak[N];
    size_t DR[3];
}; //Массив структур в восемь элементов
 
        //Заполнение структуры
void init(Znak *A, int size)
{
    char S[N];
 
    for (int i = 0; i<size; i++)
    {
        std::cout << "FirstName: "; std::cin >> S;
        strcpy(A[i].FirstName, S);
        std::cout << "LastName: "; std::cin >> S;
        strcpy(A[i].LastName, S);
        std::cout << "Zodiak: "; std::cin >> S;
        strcpy(A[i].Zodiak, S);
        std::cout << "Date: " << '\n';
        for (int j = 0; j<3; j++)
            std::cin >> A[i].DR[j];
 
        std::cout << '\n';
    }
}
 
void sort_znak(Znak  *A, int size) {
    for (int i=1;i<size;i++)  //i - номер прохода
    {
        for (int j=i-1;j<size-1;j++) //j внутренний номер прохода.
        {
            int D1 = A[j].DR[0] +  A[j].DR[1] * 32 +  A[j].DR[2] * 32 * 12; //Переводишь дату в дни, где 1 месяц = 32 дня   и 1 год = 32 дня * 12 месяцев
            int D2 = A[j+1].DR[0] + A[j+1].DR[1]*32 + A[j+1].DR[2] * 32 * 12; //Аналогично для второго элемента, чтобы корректно сравнивать такие единицы между собой.
                  if ( D1 > D2 ) std::swap(A[j],A[j+1]); //Сравниваешь получившиеся дни, по необходимости меняешь местами (по убыванию или возрастанию зависит только от знака).
                  //DR[0] - день, DR[1] - месяц, DR[2] - год.
                  //A[j] - A - это указатель на начало массива структур, A[j] - элемент из массива
        }
    }
}
 
//Вывод всей структуры на экран
void Show(Znak *A, int N)
{
    for (int i = 0; i<N; i++)
    {
        std::cout << A[i].FirstName << '\t';
        std::cout << A[i].LastName << '\t';
        std::cout << A[i].Zodiak << '\t';
        for (int j = 0; j<3; j++) std::cout << A[i].DR[j] << ".";
        std::cout << "\n";
    }
}
 
int main()
{
   const int N=4;
  Znak obj1[N];
      init(obj1,N);
      Show(obj1,N);
      sort_znak(obj1,N);
      std::cout << "\n\n";
      Show(obj1,N);
 system("PAUSE");
}
 
Текущее время: 02:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru