101

(11 відповідей, залишених у C++)

Є ось такий код

Прихований текст
#include <fstream>
#include <iostream>
#include <cstring>
#include <locale>

  using namespace std;

class payer
{
protected:
     string street;
     int building;
     int flat;
     int account;
     double hot_water;
     double cold_water;
     double gas;
     double heating;
     double lighting;
     double sum;
public:
    payer()
    {}
    payer(string s, int b, int f, int a, double h, double c, double g, double heating, double l)
    {
    street=s; 
    building=b;
    flat=f;
    account=a;
    hot_water=h;
    cold_water=c;
    gas=g;
    heating=heating;
    lighting=l;
    }
};

////////////////////////////////////////
class phpayer : public payer
{
public:
    string name;
    string surname;
    phpayer() : payer()
    {}
    phpayer(string n, string sn) : payer()
    {
      name=n;
      surname=sn;
    }
    void diskIn(int);
    void diskOut();
    static int diskCount();
    int account_return()
    {
        return account;
    }
    void null()
    {
      hot_water=0;
      cold_water=0;
      gas=0;
      heating=0;
      lighting=0;
      sum=0;
    }
    friend ostream &operator<<(ostream &output, phpayer phobj);
    friend istream &operator>>(istream &input, phpayer &phobj);
};

void phpayer::diskIn(int pn)
{
    ifstream infile;
    infile.open("database1.DAT");
    infile.seekg(pn*sizeof(phpayer));
    infile.read( (char*)this, sizeof(*this) );
}
void phpayer::diskOut()
{
    ofstream outfile;
    outfile.open("database1.DAT", ios::app);
    outfile.write((char*)this, sizeof(*this));
}
int phpayer::diskCount()
{
    ifstream infile;
    infile.open("database1.DAT");
    if(!infile) {cout<<"Файл бази даних ще не був створений. "; return 0;}
    else
    {
    infile.seekg(0, ios::end);
    return (int)infile.tellg() / sizeof(phpayer);
    }
}

ostream &operator<<(ostream &output, phpayer phobj)
{
    
        output << '\n' << phobj.name << " ";
        output << phobj.surname << ", ";
        output << phobj.street << ", ";
        output << phobj.building << "/";
        output << phobj.flat << " ";
        // output << phobj.account;
        system("pause");
        system("cls");
        output << "Плата за гарячу воду:" << phobj.hot_water;
        output <<"\nПлата за холодну воду:" << phobj.cold_water;
        output <<"\nПлата за газ:" << phobj.gas;
        output <<"\nПлата за опалення:" << phobj.heating;
        output <<"\nПлата за електроенергію:" << phobj.lighting;
        phobj.sum=phobj.hot_water+phobj.cold_water+phobj.gas+phobj.heating+phobj.lighting;
        output << "Загальна сума:" << phobj.sum << endl;
        return output;
}
istream  &operator>>(istream &input, phpayer &phobj)
    { 
        cout << "Введіть ваші дані. " << endl;
        cout << "Ім'я: "; input >> phobj.name;
        cout << "Прізвище: "; input >> phobj.surname;
        cout << "Вулиця: "; input >> phobj.street;
        cout << "Номер будинку: "; input >> phobj.building;
        cout << "Номер квартири: "; input >> phobj.flat;
        cout << "Номер рахунку: "; input >> phobj.account;
        system("cls");
        cout << phobj.name <<" "  << phobj.surname <<", " << phobj.street <<", " << phobj.building;
        cout <<"\nПлата за гарячу воду:"; input >> phobj.hot_water;
        cout <<"Плата за холодну воду:"; input >> phobj.cold_water;
        cout <<"Плата за газ:"; input >> phobj.gas;
        cout <<"Плата за опалення:"; input >> phobj.heating;
        cout <<"Плата за електроенергію:"; input >> phobj.lighting;
        phobj.sum=phobj.hot_water+phobj.cold_water+phobj.gas+phobj.heating+phobj.lighting;
        cout << "Загальна сума:" << phobj.sum;
        return input;
        
    }

////////////////////////////////////////////
class jpayer : public payer
{
public:
    string organization;
    string name;
    jpayer() : payer()
    {}
    jpayer(string o, string n) : payer()
    {
      organization=o;
      name=n;
    }
    void null()
    {
      hot_water=0;
      cold_water=0;
      gas=0;
      heating=0;
      lighting=0;
      sum=0;
    }
    void diskIn(int);
    void diskOut();
    static int diskCount();
    friend ostream &operator<<(ostream &output, jpayer jobj);
    friend istream &operator>>(istream &input, jpayer &jobj);
    int account_return()
    {
        return account;
    }
};
void jpayer::diskIn(int pn)
{
    ifstream infile;
    infile.open("database2.DAT");
    infile.seekg(pn*sizeof(jpayer));
    infile.read( (char*)this, sizeof(*this) );
}
void jpayer::diskOut()
{
    ofstream outfile;
    outfile.open("database2.DAT", ios::app);
    outfile.write((char*)this, sizeof(*this));
}
int jpayer::diskCount()
{
    ifstream infile;
    infile.open("database2.DAT");
    if(!infile) {cout<<"Файл бази даних ще не був створений"; return 0;}
    else
        {
            infile.seekg(0, ios::end);
            return (int)infile.tellg() / sizeof(jpayer);
         }
}

ostream &operator<<(ostream &output, jpayer jobj)
{
        output << '\n' << jobj.organization << " ";
        output << jobj.name << ",";
        output << jobj.street << ", ";
        output << jobj.building << "/";
        output << jobj.flat << ", ";
        // output << jobj.account  << '\n';
        system("pause");
        system("cls");
        output << "Плата за гарячу воду:" << jobj.hot_water;
        output <<"\nПлата за холодну воду:" << jobj.cold_water;
        output <<"\nПлата за газ:" << jobj.gas;
        output <<"\nПлата за опалення:" << jobj.heating;
        output <<"\nПлата за електроенергію:" << jobj.lighting;
        jobj.sum=jobj.hot_water+jobj.cold_water+jobj.gas+jobj.heating+jobj.lighting;
        output << "Загальна сума:" << jobj.sum << endl;
        return output;
}
istream  &operator>>(istream &input, jpayer &jobj)
    { 
        cout << "Введіть дані. " << endl;
        cout << "Тип огранізації:"; input >> jobj.organization;
        cout << "Назва організації: "; input >> jobj.name;
        cout << "Вулиця: "; input >> jobj.street;
        cout << "Номер будинку: "; input >> jobj.building;
        cout << "Номер квартири: "; input >> jobj.flat;
        cout << "Номер рахунку: "; input >> jobj.account;
        system("cls");
        cout << jobj.organization <<" "  << jobj.name <<", " << jobj.street <<", " << jobj.building;
        cout <<"\nПлата за гарячу воду:"; input >> jobj.hot_water;
        cout <<"Плата за холодну воду:"; input >> jobj.cold_water;
        cout <<"Плата за газ:"; input >> jobj.gas;
        cout <<"Плата за опалення:"; input >> jobj.heating;
        cout <<"Плата за електроенергію:"; input >> jobj.lighting;
        jobj.sum=jobj.hot_water+jobj.cold_water+jobj.gas+jobj.heating+jobj.lighting;
        cout << "Загальна сума:" << jobj.sum;
        return input;
        
    }

////////////////////////////////////////////////////
////////////////////////////////////////////////////
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int a;
    char ch;
    while(1)
    {
        system("cls");
        cout << "Зробіть ваш вибір." << endl << " 1 - внести нові дані" << endl << " 2 - переглянути стан рахунку" << endl ;
        cin >> a;
        system("cls");
        switch(a)
        {
        case 1:
            { 
            do
            {
            cout << "Додати платників: \n" << "1-фізична особа; \n" <<  "2-юридична особа \n";
            cin >> a;
            switch(a)
            {
            case 1: 
                    {
                         int n = phpayer::diskCount();
                         cout <<"В базі даних " << n << " фізичних користувачів\n";
                         phpayer phobj;
                         cin >> phobj; phobj.diskOut();
                         system("pause");
                         break;
                    }
            case 2: 
                    {
                         int n = jpayer::diskCount();
                         cout <<"В базі даних " << n << " юридичних користувачів\n";
                         jpayer jobj;
                         cin >> jobj; jobj.diskOut();
                         system("pause");
                         break;

                    }
            }
 cout<<"Продовжити (y/n)"; cin >> ch; system("cls");}
            while(ch=='y'); break;}
        case 2: { cout << "Зробіть Ваш вибір:\n";
                  cout << "1-фізична особа; \n" << "2-юридична особа; \n";
                  cin >> a;
                  switch(a)
                  {
                  case 1:{
                      string name;
                      int number, n, k=0, m=0;
                      cout << "Введіть Ваше ім'я\n";
                      cin >> name;
                      cout << "Введіть № вашого персонального рахунку\n";
                      cin >> number;
                      phpayer phobj;
                      n= phpayer::diskCount();
                      for(int i=0; i<n; i++)
                        {
                          phobj.diskIn(i);
                           if(phobj.name==name && phobj.account_return()==number)
                            {
                                k++;
                                m=i;
                            }
                        };
                          if(k==1)
                            {
                                system("pause");
                               phobj.diskIn(m);
                               cout << phobj;
                               cout << "1-оплатити послуги; \n" << "0-вихід\n";
                               int j;
                               cin >> j;
                                switch(j)
                                {
                                case 1:
                                    {
                                        cout << "Введіть номер вашого банківського рахунку.\n";
                                        int check;
                                        cin >> check;
                                        phobj.null();
                                        phobj.diskOut();
                                        cout << "Дякуємо за користування терміналом!";
                                        system("pause");
                                        break;
                                    }
                                case 0:
                                    {
                                        break;
                                    }
                                default: 
                                    {
                                        cout << "Не правильний ввід.";
                                        return 0;
                                    }
                                }
                            }
                            else if(k==2){ cout << "Ви уже сплачували за комунальні послуги у цьому місяці.\n"; system("pause");break;}
                            else { cout << "На жаль Вас немає у базі даних, або Ви ввели неправильні дані.\n"; system("pause");break;}
                      }
                 case 2:{
                      jpayer obj;
                      string name;
                      int account;
                      cout << "Введіть назву організації\n";
                      cin >> name;
                      cout << "Введіть № рахунку\n ";  
                      cin >> account;
                      int k, n=0, l=0;
                      k = jpayer::diskCount();
                      for(int i=0; i<k; i++)
                      {
                          obj.diskIn(i);
                          if(obj.name==name && obj.account_return()==account)
                          {
                             n++;
                             l=i;
                          }
                      }
                      if(k==1)
                      {
                         obj.diskIn(l);
                         cout << obj;
                         cout << "1-оплатити послуги; \n" << "0-вихід\n";
                               int j;
                               cin >> j;
                                switch(j)
                                {
                                case 1:
                                    {
                                        cout << "Введіть номер вашого банківського рахунку.\n";
                                        int check;
                                        cin >> check;
                                        obj.null();
                                        obj.diskOut();
                                        cout << "Дякуємо за користування терміналом!";
                                        system("pause");
                                        break;
                                    }
                                case 0:
                                    {
                                        break;
                                    }
                                default: 
                                    {
                                        cout << "Не правильний ввід.";
                                        return 0;
                                    }
                                }
                            }
                            else if(k==2){ cout << "Ви уже сплачували за комунальні послуги у цьому місяці.\n"; system("pause");break;}
                            else { cout << "На жаль Вас немає у базі даних, або Ви ввели неправильні дані.\n"; system("pause");break;}
                      }
                        break;
                    }
                         system("pause");
                  }
                }
        }
    system("pause");
 return 0;
}
}

він ще не повністю дороблений...
в мене зараз він вилітає на 262-268 рядках, тобто до "іфу" не доходить...
Власне сама помилка

Прихований текст

Необработанное исключение типа "System.AccessViolationException" произошло в Програма1.exe

Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.

Програма хоч якось "працює" тільки тоді, коли у файлі є тільки один запис, коли білше - вилітає...
Прошу не звертати увагу на цілу купу не доцільних речей в коді...
Вибачаюся за оформлення коду...
Підкажіть будь ласка, що потрібно виправити, щоб програма працювала нормально...

102

(7 відповідей, залишених у Інше)

Купіть водонепроникний смартфон. Наприклад Sony Xperia Z, V, Acro S, Go, Samsung Galaxy Xcover 2.
Всі витримують до 30 хв на глибині до 1 м. Сам мучив свій телефон водою :) , спочатку страшно було, але тепер цікаво спостерігати за реакцією людей, коли опускаєш смарт у воду))
П.С. Надіюсь дайвінгом ви не займаєтесь, а то й чехол не дуже допоможе.

103

(11 відповідей, залишених у C++)

напишіть наприклад так:

while(a!=0 && b!=0)

або так

while(a!=0)

104

(3 відповідей, залишених у C++)

а як мені визначити, що саме це n а не інше, є тим, оптимальним, яке мені потрібне?
здається знайшов відповідь на своє питання
від n залежить точність обчислень тому якщо наприклад ввести n=1 і наприклад n=100 розбіжність досить велика, в мене точність не задана і n  також, зробив ввід з клавіатури :)

105

(3 відповідей, залишених у C++)

Привіт всім.
   Мені потрібно обчислити визначений інтеграл методом трапецій, але є один нюанс який мені не зрозумілий, звідки взяти n - число інтервалів. Пошукавши приклади побачив що зазвичай n задається в умові. Підкажіть що мені робити взяти довільне стале n, чи зробити ввід n з клавіатури.

106

(1 відповідей, залишених у Залізо)

кожне ядро по 2,7 ГГц, частоти не додаються...
недавно був випадок що стосується даної теми, знайомий сказав, що купив телефон з частотою процесора 6ГГц, я випав хвилини на дві, поки зрозумів що це 4 ядра по 1,5ГГц))
  Уривок з статті яка мені сподобалась по даній темі:
 

Прихований текст

Я спробую пояснити, чому сумарну частоту процесора можна розуміти як: «кількість ядер помножити на зазначену частоту». Наведу приклад: «По дорозі йде пішохід, у нього швидкість 4 км / ч. Це аналогічно одноядерному процесору на N ГГц. А от якщо по дорозі йдуть 4 пішоходи зі швидкістю 4 км / год, то це аналогічно 4-ядерного процесору на N ГГц. У випадку з пішоходами ми не вважаємо, що їх швидкість буде дорівнювати 4х4 = 16 км / год, ми просто говоримо: "4 пішоходи йдуть зі швидкістю 4 км / год". З цієї ж причини ми не виробляємо жодних математичних дій і з частотами ядер процесора, а просто пам'ятаємо, що 4-ядерний процесор на N ГГц має чотири ядра, кожне з яких працює на частоті N ГГц ».Тобто, по суті, частота процесора від кількості ядер не змінюється, збільшується лише продуктивність процесора.

107

(23 відповідей, залишених у Оцінка сайтів)

http://flinch.com.ua/simpations
тут щось не так :D

Мені в універі пояснювали так:
        Сортування починається з якого-небудь елемента, який зазвичай знаходиться посередині діапазону (між left і right, left – ліва, right – права межа діапазону сортування), його ще називають компарандом. Найкращим варіантом початкового елемента буде середньоарифметичне значення, тобто середнє між максимальним і мінімальним, які будуть крайніми в посортованому масиві і які, як правило, заздалегідь невідомі.
         Суть методу полягає в розділенні масиву на дві частини, після чого всі елементи, менші за компаранд, переміщуються (бульбашковим методом) вліво, а більші – вправо. Далі кожна з цих частин ділиться окремо, а елементи переміщуються тим же способом, поки весь масив не стане посортованим.

http://uk.answers.wikia.com/wiki/ВікіZapytaj

110

(8 відповідей, залишених у Інше)

dmyutro написав:

В мене модель MP190, там такої нема.   І також, в мене три в одному: принтер, сканер, копір.

як нема, а це тоді що?
http://www.canon-europe.com/Support/Con … amp;page=1

111

(233 відповідей, залишених у Розваги та гумор)

Жарт місяця:
Як зайняти програміста (читайте нижче)
Як зайняти програміста (читайте вище)

-----------------------------------------------------------

Приходить один програміст до іншого:
- Слухай, Петя, мені генератор випадкових чисел потрібен
- Чотирнадцять!

------------------------------------------------------------

Послала жінка чоловіка-програміста до магазину:
- Купиш палку ковбаси, а як будуть яйця, то візьми десять!
Приходить той у магазин:
- У Вас яйця є?
- Є!
- Ну, то дайте десять палок ковбаси…

-------------------------------------------------------------

Багато букв(баян):

Прихований текст

Свого часу фізики запропонували свою підбірку методів рішення задачі про впіймання лева в пустелі і переміщенні його в клітку. А як вирішують ту ж задачу різні діячі епохи інформаційних технологій?

Програміст на Паскалі
Проглядає пустелю повним перебором. Виявивши лева, будує навколо нього клітку.

Просунутий програміст на Паскалі
Сортує пустелю за збільшенням, після чого шукає лева двійковим пошуком і будує навколо нього клітку. Якщо в процесі будівництва лев йде, кидає роботу з криком "Range Check Error".

Програміст на С
Шукає в пустелі камінь і поміщає його в клітку. Привласнює каменю значення "лев".

Просунутий програміст на С
Присвоює пустелі значення "клітка".

Програміст на С++
Проектує клітку так, щоб лев був її складовою частиною. При ініціалізації клітки лев автоматично генерується усередині.

Програміст на Аді
Говорить, що лев і клітка - це об'єкти різних типів, і нічого морочити йому голову некоppектними завданнями.

Програміст на Дельфі
Пише на всіх форумах: "Народ, де узяти компонент, який шукає в пустелі лева і поміщає його в клітку?"

Железячник
Купує в зоопарку лева, робить йому операцію по зміні підлоги і довго намагається запихнути його в клітку для канарейки.

Геймеp-action''еp
Озброюється сyпеpшотганом, плазмаганом, pейлганом, нейлганом, шестиствольним кулеметом і бензопилою. Прочісує пустелю, розносячи все на своєму шляху. Шукає серед убитих лева і намагається виявити у нього в животі жовтий ключ. Якщо знаходить, відмикає ним клітку і чекає нагороди.

Геймеp-квестовик
Шукає по всій пустелі лева, знаходить, кладе в кишеню. Потім шукає по всій пустелі клітку, попутно намагаючись засунути лева в чайник, черевик, телевізор, відро з фарбою і інші ємкості, що трапляються на шляху.

Геймеp-стратег
Піднімає по всій пустелі податки, щоб отримати гроші на будівництво клітки і мисливських юнітів. До моменту закінчення будівництва всі леви дохнутимуть з голоду.

Користувач інтернету
Заходить в свою улюблену пошукову систему, пише в рядку Search "пустеля", шукає в знайденому "лев в клітці". Якщо не знаходить, говорить, що завдання не можливо виконати.

Вебмастеp
Заходить в свою улюблену пошукову систему і пише в рядку Search "пустеля + лев". Створює документ клітка.html і прописує в нім посилання на знайдене.

Спамер
Розсилає по всій пустелі безліч кліток, до кожної з яких прив'язаний папірець: "Якщо ви лев, будь ласка, зайдіть всередину і закрийтеся зсередини".

Тpоянщик
Робить те ж, що і спамер, але замість папірця зовні вішає усередині клітки картинку з голим левом.

Адмін
Викопує навколо клітки рів, заповнює його концентрованою кислотою, встановлює уздовж берега протитанкові їжаки і протипіхотні міни, все це обвиває колючим дротом. До дроту і лозинам клітки підключає дроти від генератора високої напруги. Вішає на клітку 10 кодових і 12 замків комор. Заходить всередину, закривається на всі замки, пускає струм, ключі проковтує, коди забуває і говорить, що тепер йому ніякий лев не страшний.

Хакер
Hейтpалізyє кислоту лугом, перекушує дріт, проповзає під їжаками, перестрибує з жердиною через міни, відключає струм, зламує замки і входить в клітку. Hе виявивши усередині лева, матюкається з досади, дає стусана адмінy і йде назад в пустелю.

-------------------------------------------------------------------------------------------------

   Стоїть чоловік, курить сигарету, пускаючи кільця диму.  Біля нього стоїть його подруга і каже:
"Хіба ти не бачиш попередження на сигаретній пачці? Куріння небезпечне для вашого здоров'я!"
   На що чоловік відповідає:
«Я програміст. Нас, програмістів, не турбують попередження. Нас турбують тільки помилки".

-------------------------------------------------------------------------------------------------

Питання: Скільки програмістів потрібно щоб закрутити лампочку?
Жодного. Це апаратна проблема, яка не стосується програмістів.

-------------------------------------------------------------------------------------------------

5 речей про які задумувався кожен програміст:
1) Чому це не працює?
2) Чому це працює?
3) Де відсутня крапка з комою?
4) Що це за дивна помилка(що сталося)?
5) Що за ***** писав цей код?

112

(3 відповідей, залишених у Інше)

Мабуть розрядився акум на Біосі.  Необхідно оновити сам БІОС до останньої актуальної версії і тоді аккум БІОСа нарешті почне заряджатися.  Якщо проблема залишиться - то значить аккум таки вийшов з ладу.
Справа в тому, що швидше за все в "заводському" Біосі забули про зарядку акумулятора БІОС.  І він, справно відробивши декілька років як батарейка, нарешті розрядився.  Перепрошивка вирішує цю проблему, тобто аккум нарешті починає заряджатися.

є якісь напрацювання?

114

(22 відповідей, залишених у C++)

є якісь напрацювання?

Прихований текст

P.S.  не треба з кожною створеною темою писати в Приватні повідомлення, хто захоче сам побачить і якщо захоче допоможе.

115

(16 відповідей, залишених у Оцінка сайтів)

все добре, але як на мене непогано було б додати версію для друку документів, або ж електронну версію в pdf чи якомусь іншому форматі.

116

(6 відповідей, залишених у C++)

без змін...

117

(6 відповідей, залишених у C++)

Хмм, ви мабуть праві, якщо зменшити значення то виходить, але якщо ж наприклад записати:

..................
x[i]=50-random(5);
if( x[i] > 0) { dobutok=dobutok*x[i]; }
...................

також виходять то додатні, то від'ємні числа...
коли відбувається переповнення пам'яті, то можуть виводитися додатні і від'ємні числа?

118

(6 відповідей, залишених у C++)

є ось така програма:

Прихований текст
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{ int i, x[15], suma=0, dobutok=1;
 clrscr();
randomize();
 for(i=0; i<15; i++)
 {x[i]=15-random(30);
 if( x[i] > 0) { dobutok=dobutok*x[i]; }
 if( x[i] < 0) { suma=suma+x[i]; }
 }
 printf("suma vid`emnux=%d\n", suma);
 printf("dobutok dodatnux=%d\n", dobutok);
 }

після перших 4-5 запусків все було ок, результати задовільняли умову, але потім, добуток який має бути додатним, чомусь вивело від'ємний. Чому так вийшло ніяк не можу зрозуміти... Поясніть будь-ласка, що я не так зробив.

119

(28 відповідей, залишених у Інше)

Попробуйте відкрити ''Вхід'' в новій вкладці, має допомогти. Принаймі в мене проблем з входом на форум немає.
P.S. Зараз пишу з телефону)

120

(86 відповідей, залишених у Обговорення)

Також отримав книгу, велике спасибі Replace за прекрасний подарунок)