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

Первый бит числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Восстановление предков обхода в ширину http://www.cyberforum.ru/cpp-beginners/thread1072431.html
На шахматной доске NxN в клетке (x1, y1) стоит голодный шахматный конь. Он хочет попасть в клетку (x2, y2), где растет вкусная шахматная трава. Какое наименьшее количество ходов он должен для этого...
C++ Контейнер deque Задание:(используя контейнер deque) ввести последовательность натуральных чисел,у конце которой 0.Не сохраняя всей последовательности в памяти, вывести порядковые номера крупнейших цифр... http://www.cyberforum.ru/cpp-beginners/thread1072429.html
Каков смысл в "куче"? C++
Всем привет! Прогуглил все вдоль и поперек, прочитал достаточно инфы, но так и не понял где, как и зачем мне может понадобиться создавать из последовательности элементов кучу... Понял что...
Разбить программу на функции C++
объясните, пожалуйста, как эту программу разбить на три функции: ввод, обработка, вывод. глобальные переменные использовать нельзя. в таком виде все работает как надо ) #include <iostream> using...
C++ Вместо значений массива в cout выводит адреса http://www.cyberforum.ru/cpp-beginners/thread1072401.html
Помогите пожалуйста! Вместо значений массива в cout выводит адреса #include<iostream> #include<conio.h> #include <iomanip> #include <math.h> #include <fstream> /*void WriteComplex(char *...
C++ Вычислить площадь треугольника и вывести на экран Директивы препроцессора и функции printf () и scanf () Спасайте товарищи,а то сессию завалю(( подробнее

Показать сообщение отдельно
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.01.2014, 20:45
StasyanKO, писал на шарпе раньше. Надо?

Добавлено через 3 минуты
Вот, если что...
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
public void Compress(string sourcePath, string resultPath)
        {
            FileStream source = new FileStream(sourcePath, FileMode.Open, FileAccess.Read);
            FileStream result = new FileStream(resultPath, FileMode.Create, FileAccess.Write);
 
            try
            {
                int check;
                long count = 1;
                byte prev = (byte)source.ReadByte();
 
                while ((check = source.ReadByte()) != -1)
                {
                    byte curr = (byte)check;
 
                    if (curr == prev)
                        count++;
                    else
                    {
                        for (int i = 0; i < 8; i++)
                        {
                            result.WriteByte((byte)(count >> ((7 - i) * 8)));
                        }
                        result.WriteByte(prev);
                        count = 1;
                        prev = curr;
                    }
                }
 
                for (int i = 0; i < 8; i++)
                {
                    result.WriteByte((byte)(count >> ((7 - i) * 8)));
                }
                result.WriteByte(prev);
            }
            finally
            {
                source.Close();
                result.Close();
            }
        }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.