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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
un1acker
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 22
#1

Цикл замены мест элементов - C++

12.11.2012, 09:52. Просмотров 410. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста разобраться что не так с циклом замены мест элементов ??
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <locale>
#include <time.h>
 
 
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()
{
    srand(time(0));
    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<<ne4etn;
        bin_out.seekp(i,ios::beg);
        
        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);  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 09:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл замены мест элементов (C++):

Замена мест минимальных элементов - C++
Постройте микропрограмнный аппарат,который выполняет превращение элементов массивов , A(n) і B(n) таким образом: меняет минимальные...

Элементы одномерного массива из n элементов циклически сдвинуть на к мест вправо - C++
В общем, я сделал это задание, но когда преподаватель проверял, сказал, что я сделал не так как надо...Хотя ведь в моем понимании главное,...

Вычислить суммарное количество мест и количество мест в гостинице - C++
Написать программу работы с массивом из 10 объектов Объекты - номера в отеле. Требуется вычислить суммарное количество мест и...

В зрительном зале X рядов, а мест в каждом ряду на 6 больше. Сколько в зрительном зале посадочных мест? - C++
Составьте выражение по условию задачи: &quot;В зрительном зале х рядов, а мест в каждом ряду на 6 больше. Сколько в зрительном зале посадочных...

Получить новую матрицу путем замены элементов - C++
Добрый вечер. Ув. форумчане пожалуйста помогите решить задачу по программированию, на тему: матрицы. Условие: Дано действительную...

Написать функцию замены элементов на 8 с заданной позиции до конца массива - C++
Написать функцию замены элементов на 8 с заданной позиции до конца массива (с проверкой истинности позиции). Вот такой код есть: ...

1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.11.2012, 14:13 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
        }
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 14:13
Привет! Вот еще темы с ответами:

Создать функцию для замены чётных элементов одномерного массива на нуль - C++
создать функцию для замены элементов одномерного массива , являющиеся четными числами на нуль. Ввод элементов методом генерации случ чисел.

Создать функцию для замены отрицательных элементов одномерного массива на их модули - C++
создать функцию для замены отрицательных элементов одномерного массива на их модули. ввод элементов путем инициализации.

Дан линейный массив А. Составьте программу замены элементов с нечетными номерами на их квадраты - C++
Дан линейный массив А. Составьте программу замены элементов с нечетными номерами на их квадраты

Дана вещественная матрица А(N.M). Составить программу замены всех отрицательных элементов матрицы на элемент, имеющий максимальное значение. - C++
Дана вещественная матрица А(N.M). Составить программу замены всех отрицательных элементов матрицы на элемент, имеющий максимальное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru