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

Нужно разобраться с программой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сколько слов, состоящих только из прописных букв, содержится в сообщении http://www.cyberforum.ru/cpp-beginners/thread594612.html
Всем привет.Есть такое вот задание: Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. if( OpenDialog1...
C++ Как записывать и считывать не POD типы данных из бинарного файла? Есть класса в котором часть полей не базовых динамических типов например vector list и подобные. Как записать экземпляр класса в бинарный файл чтобы потом его нормально считать? Через boost... http://www.cyberforum.ru/cpp-beginners/thread594596.html
Решения по Дейтелам C++
Ребят, такой вопрос, купил книгу Deitel H.M., Deitel P.J. / Дейтел Х.М., Дейтел П.Дж. - Как программировать на С++, очень много заданий, что хорошо, но нет к ним решения в самой книге, то есть не...
Округлить выводимые данные C++
Надо сделать что если х у вводиш милионами числами выводило норм.. спасайте вообще хз как #include <iostream> #include <math.h> #include <conio.h> #include <iomanip> using namespace std;...
C++ Используя одномерные массивы, составить программу http://www.cyberforum.ru/cpp-beginners/thread594580.html
Используя одномерные массивы, составить программу. Есть массив n чисел. Вычислить сумму отрицательных элементов массива. C++ C#
C++ Оптимизация цикла (перебор 5000000 элементов) Можно ли как-то оптимизировать данный цикл? for (i=10000000; i<15000000; i++) { for (k = i, j = 0; j < 8; j++, k /= 10) mas = k % 10; if (mas+mas+mas + mas ==... подробнее

Показать сообщение отдельно
Thirteen
32 / 32 / 4
Регистрация: 04.07.2012
Сообщений: 50
07.07.2012, 01:12
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define n 2
 
struct TRAIN //Создание структуры 
{
char punkt[15]; //Поле строка из 15 символов "Пункт"
int r_num;      //Поле "Номер рейса"
int ch;         //Поле "Часы"
int min;        //Поле "Минуты"
} train[n];     //Создание массива из n объектов типа "Train".
 
void Read(TRAIN *); //Инициализирует массив. На входе этот самый массив.
void Sort();     //Сортирует массив по пункту назначения.
void Output(int);//Форматный вывод данных структуры. 
                 //Принимает один аргумент - номер элемента в массиве train.
 
int main(void)
{
int ch1,min1;
Read(train); //Инициализируем массив.
printf("|Punkt naznacheniya|\tNomer reisa|\tVremi|\t\n");//Выводим шапку таблицы.
for(int i=0;i<n;i++)//Цикл вывода строк таблицы
Output(i); //Форматный вывод каждого объекта массива train.
Sort(); //Сортирует массив по пункту назначения
printf("Sortirovka\n");
printf("|Punkt naznacheniya|\tNomer reisa|\tVremi|\t\n");//Шапка таблицы
for(int i=0;i<n;i++) //Снова вывод массива, но теперь после сортировки.
Output(i);
printf("\nVvedite Vremi: \n");
printf("Hour:\n");
scanf("%d",&ch1); //Считываем часы
printf("Minutes: \n");
scanf("%d",&min1); //Считываем минуты
 
int s=0; //Видимо играет роль переменной "ложь-истина"
for(int i=0;i<n;i++) //Цикл проверки
if(train[i].ch>=ch1 && train[i].min>=min1){ //Если есть поезда, у которых время
                                            //больше введённого,
printf("|Punkt naznacheniya|\tNomer reisa|\tVremi|\t\n") //то выводим их.
Output(i);
s=1; //И ставим "Булеву" переменную в "истину"
}
if(!s) printf("Takoe vremi net!\n"); //Если "ложь", то говорит, что нет таких.
 
return 0;
}
 
void Read(TRAIN t[n]) //Инициализирует массив t.
{
int i;
for(i = 0;i<n;i++) //Цикл перебирает все элементы массива
{
printf("Punkt naznacheniya:\n");
scanf("%s",&t[i].punkt); //Вводим пункт назначения
printf("Nomer reisa: \n");
scanf("%d",&t[i].r_num); //Вводим номер рейса
printf("Hour: \n");
scanf("%d",&t[i].ch); //Вводим часы
printf("Minutes: \n");
scanf("%d",&t[i].min); //Вводим минуты
}
}
 
void Sort() //sortirovka po punkty naznacenia
{
 
int swap=1; //Тоже типа "Булева" переменная.
while(swap!=0) //Пока не ноль выполняем следующее:
{
swap=0; //Ставим swap в ноль
for(int i=0;i<n-1;i++) //Цикл сравнения пунктов назначения друг с другом.
                       //На 1 меньше размера массива чтобы не вылететь за пределы
if(strcmp(train[i].punkt,train[i+1].punkt)>=0) //Если результат сравнения
//пунктов назначения двух элементов больше либо равен нуля, то...
{
swap=1; //Ставим swap в 1
//Меняем два элемента местами:
TRAIN temp=train[i]; //Создаём временную переменную типа train
train[i]=train[i+1]; //Присваиваем i-му элементу значение следующего
train[i+1]=temp; //А следующему - значение i-го.
}
}
 
}
void Output(int i) //Форматный вывод элементов структуры
{
printf("|%s\t\t |%d\t\t |%d.%d\t |\n",
train[i].punkt,train[i].r_num,train[i].ch,train[i].min);
}
Так пойдёт?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru