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

структура - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти произведение положительных элементов, кратных 5 или7, в каждом ряде матрицы http://www.cyberforum.ru/cpp-beginners/thread148742.html
Помогите пожалуйста исправить мой корявенький код(среда программирования Borland C++) Задание:определить двухмерный массив А,заполнить его случайными целыми числами от -1000 до 1000.Найти произведение положительных элементов,кратных 5 или7,в каждом ряде.Размер массива определяется с клавиатуры,но 4<=n<=10, 4<=m<=10, n!=m.Результаты внести в новый массив. #include <stdio.h> #include <conio.h>...
C++ определить лежит внутри или нет дано два многоугольника на плоскости перечислением координат вершин,проверить лежит ли один из них строго внутри другого?как такое сделать?не пойму даже теоритически не говоря о практически=( я взял такие координаты - Point a, b; a = Point(0,3); a = Point(1,3); a = Point(3,1); a = Point(1,-2); a = Point(-1,-1); http://www.cyberforum.ru/cpp-beginners/thread148739.html
C++ Перевод числа в восьмиручную систему.(Построение абстрактных классов)
Добрый день! Есть задача:Дано натуральное число P. Найдите все делители числа Р. Вот к ней код рабочий: #include <stdio.h>; #include <math.h>; #include <stdlib.h>; #include <conio.h>; #include <iostream.h> class nach {
Ошибка в шаблоне C++
#include <iostream> using namespace std; template <class u1, class u2> void kl(u1 k, u2 f); template void kl <double>(double u, double z); int main() { kl(8.6, 9.4); return 0;
C++ Скорость выполнения. http://www.cyberforum.ru/cpp-beginners/thread148682.html
Есть консольное приложение, работающее с огромными текстовыми файлами, сравнивает их, читает, записывает и т.д. Судя по диспетчеру задач, тратится 223-224 мб оперативной памяти. Так вот хочется ускорить выполнение программы, допустим как-то заставить использовать уже 2-3 гб оперативки. Как это реализовать? Или есть другие варианты? По-возможно поподробнее. Работаю в Visual Studio...
C++ Определить и вывести на экран количество слов во введеной строке определить и вывести на экран количество слов во введеной строке подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
23.06.2010, 17:57     структура
Примерный вариант.
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <string.h>
#include <locale.h>
#include <windows.h>
 
using namespace std;
 
const int size=80;      //длина информационной строки
const int MaxItems=10;  //max количество элементов в таблице
 
struct Item
{
    char *number;           
    char *stan; 
    double time;
    double time_put;
    int bil;
}; 
Item table[MaxItems];   // определение рабочего вектора
 
char *mes[]=
{
    "1. Занести в таблицу\n",
    "2. Просмотреть таблицу\n",
    "3. Наличие билетов\n",
    "4. Завершить работу\n"
};
int mes_count=sizeof(mes)/sizeof(mes[0]);
void Insert (void);
void Find (void);
void Show (void);
void Quit(void);
int proverka (char *b1, char *b2);
 
void (*Sunc[])()={NULL, Insert, Show, Find};
 
int n=0; //текущая длина массива
 
int menu ()
{
int ans;
    do
    {
        for (int j=0; j<mes_count; j++)
            cout<<mes[j];
        cout<<endl;
        cout<<"Выберете действие: ";
        cin>>ans;
    }
    while (ans<0||ans>mes_count);
    return ans%mes_count;
}
int main()
{
    //SetConsoleOutputCP(1251);
    setlocale(LC_ALL,"Russian");
    int answer;
    while (answer = menu())
        Sunc[answer]();
    Quit();
    cout << "\n******* Завершение *******" << endl;
 
}
void Insert()
{
    int i=0;
    char buf[size]={'\0'}, buf2[size]={'\0'};
    cout<<"Введите номер поезда: ";
    cin.ignore(size, '\n');
    cin.getline (buf2, size);
    table[n].number=new char [strlen (buf2)+1];
    strcpy (table[n].number, buf2);
    cout<<"Введите станцию: ";
    cin.getline (buf, size);
    table[n].stan=new char [strlen(buf)+1];
    strcpy (table[n].stan, buf);
    cout<<"Введите время отправления (час.мин): ";
    cin>>table[n].time;
    cout<<"Введите время в пути (час.мин): ";
    cin>>table[n].time_put;
    cout<<"Введите количество билетов: ";
    cin>>table[n].bil;
    n++;
}
void Find()
{
    int i=0, j=0;
    char k[size], *num=k, num1;
    
    cout<<"Введите номер поезда: ";
    cin.ignore(size, '\n');
    cin.getline(k, size);
    for (i=0; i<n; i++)
        //num1=table[i].number;
        if (proverka(table[i].number, k))
        {
            cout<<"Номер"<<'\t'<<"Станция"<<"\t"<<"Время отпр"<<"\t"<<"Время в пути"<<'\t'<<"Билетов"<<endl;
            cout<<table[i].number<<"\t"<<table[i].stan<<"\t"<<table[i].time<<"\t"<<table[i].time_put<<'\t'<<table[i].bil<<endl;
            return;
        }
    cout<<"Совпадений не найдено!\n";
}
int proverka (char *b1, char *b2)
{
    while (*b1&&*b1++==*b2++)
        ;
    if (*(b1-1)==*(b2-1))
        return 1;
    return 0;
}
void Show ()
{
    int j, i;
    cout<<"Номер"<<'\t'<<"Станция"<<"\t"<<"Время отпр"<<"\t"<<"Время в пути"<<'\t'<<"Билетов"<<endl;
    for (i=0; i<n; i++)
        cout<<table[i].number<<"\t"<<table[i].stan<<"\t"<<table[i].time<<"\t"<<table[i].time_put<<'\t'<<table[i].bil<<endl;
    cout<<endl;
}
void Quit ()
{
    for (int j=0; j<n; j++)
        delete [] table[j].stan;
    n=0;
}
Лучше хорошенько протестировать...
 
Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru