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

Как спростить даный код?[бинарные файлы] - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пояснение рекурсии в Ханойских башнях http://www.cyberforum.ru/cpp-beginners/thread1057282.html
Ребята, нашел рекурсивное решение про задачу с Ханойскими башнями, но хоть убейте не могу понять (найти): Почему получаются такие значения. Если про первые четыре более-менее понятно, то как получились обратные 2 --> 1 2 --> 3 не понимаю Не судите строго, поясните пож-та. #include <iostream.h> #include <iomanip.h> void Towers (int, int, int, int);
C++ функции-члены, что это? объясните кто нибудь как реализуются функции-члены Определить =, +=, -=, *=, - как функции-члены. http://www.cyberforum.ru/cpp-beginners/thread1057272.html
Исправьте ошибки C++
#include <iostream> #include <conio.h> using namespace std; void main () { int N,M; int min=0, i, j;//переменные для цикла cout<<"Введите число строк:\n"; cin>>N; cout<<"Введите число столбцов"; cin>>M;
Из двух массивов разной длины сформировать общий массив и вычислить сумму отрицательных элементов, индексы которых есть полные квадраты C++
. Из двух массивов разной длины сформировать общий массив и вычислить сумму отрицательных элементов, индексы которых есть полные квадраты.
C++ Найти минимальный из максимальных элементов строк http://www.cyberforum.ru/cpp-beginners/thread1057249.html
Вроде в задаче надо задействовать двумерные массивы, помогите пожалуйста. Нашел ее, http://www.cyberforum.ru/cpp-beginners/thread208306.html . Спасибо, извините
C++ MPI Всем добрый день! Извиняюсь за нахальство - у меня аж три вопроса и практически полное...(незнание?):-[ 1)Метод Гаусса для решения СЛАУ (вроде и на теории и на практике норм. но задачка не получается) 2)Метод Якоби (в теории ясен но на практике...) 3)метод Сопряженных градиентов (вообще не ясно что и как) Кто чем сможет - кто совет, кто полностью, кто часть даст буду признателен. подробнее

Показать сообщение отдельно
cHuVbaka
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 120
26.12.2013, 08:33     Как спростить даный код?[бинарные файлы]
В двоичном файле целого типа поменять местами элементы, стоящие на четных местах с элементами, стоящими на нечетных местах
C++ (Qt)
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 "StdAfx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
class bin_stream
    : public fstream 
{   
public:
    bin_stream(const char *fn)
        : fstream(fn, ios::out | ios::in | ios::binary | ios::trunc) 
    {
    }
    void doneOurDate(const void*, int, int);
    bin_stream &operator<<(int d) 
    {  
        doneOurDate(&d, sizeof(d),0);
        return *this;  
    }
    bin_stream &operator>>(int &d) 
    {  
        doneOurDate(&d, sizeof(d),1);
        return *this;  
    }
};
 
 
int main()
{
    int in;
    int element;
    int chetn,ne4etn;
    setlocale(LC_CTYPE, "rus");
    bin_stream bin_out("Binarnik.dat");
    if(!bin_out){cout<<"ErRoo\r"; exit(1);}
    for(int i=1;i<=4;i++)
    {
        element=i;
        bin_out<<element;
        
    }
    bin_out.seekp(0,ios::beg);
    for(int i=1;i<=4;i++)
    {
        
        bin_out>>element;
        cout<<element<<" ";
    }
    bin_out.seekp(0,ios::beg);
 
   for(int i = 1; i <= 4; i++)
    {
        if(i % 2 != 0)
        {
            bin_out >> in;
            ne4etn = in;
        }
        else
        {
            bin_out >> in;
            chetn = in;
            
            int t;
            t = ne4etn;
            ne4etn = chetn;
            chetn = t;
            cout << endl << ne4etn << chetn << endl;
            
            bin_out.seekp(-2 * (int)sizeof(int), ios::cur);
            bin_out << ne4etn;
            bin_out << chetn;
        }
    }
    cout<<endl;
    bin_out.seekp(0,ios::beg);
    for(int i=1;i<=4;i++)
    {
        
        bin_out>>element;
        cout<<element<<" ";
    }
    system("pause");
    return 0;
}
void bin_stream::doneOurDate(const void *Ptr, int len, int sign) 
{   
    if (!Ptr) return;
    if (len <= 0) return;   
    if (sign==0) write((char*)Ptr, len);
    else read((char*)Ptr, len);  
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru