Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Структура с именем STUDENT https://www.cyberforum.ru/ cpp-beginners/ thread1278247.html
Исправьте, пожалуйста, программу(работа со структурами) и объясните, как вы это сделали! Описать структуру с именем STUDENT, содержащую следующие поля: 1)фамилия и инициалы; 2)номер группы; 3)успеваемость(массив из пяти элементов). Написать программу, выполняющую следующие действия: 1)ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть...
C++ Параметры printf
Здравствуйте дорогие форумчане ;) У меня есть вопрос по следующему куску кода. Решив по практиковаться с консольным приложением у меня возникли трудности, написав вот такую конструкцию printf("z=%*.6Lf",z); (для того чтоб получить максимально точный вариант=) получаю Z=0.000000. Что меня конечно же не совсем устраивает... Подскажите в чем мои глупости и как правильно выводить с подобными...
C++ Быстрый поиск https://www.cyberforum.ru/ cpp-beginners/ thread1278237.html
Здравствуйте. Нужно выполнить поиск i-го вхождения заданного элемента в исходном наборе чисел. Написал такой поиск, но работает медленно: int LineSearch(int A, int kolvo, int key, int nomer) { int current=0; for (int i=0; i<kolvo; i++) { if (A==key) {
C++ Запись string в бинарный файл Здравствуйте еще раз! ^_^ Хочу понять, как правильно записывать бинарный файл и считывать информацию из него на примере string, т.к. с остальными все более-менее понятно. Как пытался сделать я: Запись: void dlist::save() { info *temp; info *tempD; ofstream fout("fout", ios::out | ios::binary); https://www.cyberforum.ru/ cpp-beginners/ thread1278236.html
Через каждые 5 символов добавить пробел и посчитать количество символа "X" C++
Дан массив символов из 20 элементов. Через каждые 5 символов добавить пробел и посчитать количество символа "X" в массиве. Помогите решить.
C++ Sh(x) Необходимо написать код Здравствуйте! Нужна помощь в написании кода: sh(x) = x + \frac{{x}^{3}}{3!}+\frac{{x}^{5}}{5!}+\frac{{x}^{7}}{7!}+... R = бесконечность Спасибо! https://www.cyberforum.ru/ cpp-beginners/ thread1278222.html
C++ Сумма факториалов от 1 до N https://www.cyberforum.ru/ cpp-beginners/ thread1278219.html
Здание таково: вычислить 1\1! +1\2! + ... + 1/n! . n - вводится с клавиатуры. Помогите пожалуйста ^_^
Сформировать массив из номеров строк массива C++
2 Буду благодарен в помощи, заранее спасибо.
C++ Найти значение функции в зависимости от условия Добрый день, пользователи, проблема с задачами. Даю условие задачи: 1 https://www.cyberforum.ru/ cpp-beginners/ thread1278206.html C++ Стандартный поток ввода, конец файла https://www.cyberforum.ru/ cpp-beginners/ thread1278191.html
Что считается концом файла на стандартном потоке ввода. То есть, по сути, на scanf?
C++ CURL в C++: вытащить значение переменных из php скрипта
Все привет. Начал работать с cURL и появились вопросы. Все установил, все работает, только вот как сделать то что я хочу ни где не нашел, везде примеры только для PHP( собственно в чем вопрос.. вот код: #include "StdAfx.h" #include<cstdio> #include "curl.h" #pragma comment(lib,"curllib.lib") int main() { CURL* curl;//объект
C++ Копирование char* Как скопировать определённую часть массива char* в char* или string? Добавлено через 17 минут в чём ошибка? char* h="55555555555555555555"; char* l; int count=6; strncpy(l,h,count); https://www.cyberforum.ru/ cpp-beginners/ thread1278166.html
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 17
26.10.2014, 16:07  [ТС] 0

Разработка алгоритма и программы сжатия и восстановления массива - C++ - Ответ 6770514

26.10.2014, 16:07. Показов 1256. Ответов 17
Метки (Все метки)

Ответ

SlavaSSU, Спасибо твой вариант интересен
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <algorithm>
#include <map>
#include <vector>
#include <clocale>
using namespace std;
 
typedef unsigned int uint;
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    int k, m, i, j, v, c;
    
   
 
    vector<uint> rar;
    vector<int> res;
    uint mask = 0;
    printf("Введите длину массива:  ");
    cin >> k;
    m=k/2;
    printf("Ведите массив из 0 и 1: \n");
    for(i = 1; i <= k; i++)
    {
        
        scanf("%d", &v);
       /* naive.push_back(val);*/
 
        if(v == 1)
            mask |= (uint(1) << ((m-1) - ((i-1) % m)));
 
        if(i % m == 0)
        {
            rar.push_back(mask);
            mask = 0;
        }
    }
 
    rar.push_back(mask);
    printf("Сжатый массив:  ");
    for(i = 0; i < rar.size(); i++)
        cout << rar[i] << ' ';
    cout << endl;
 
 
 
    //все сжали и сохранили в векторке
 
    //допустим пусть приходят запросы на инвертирование каких-то чисел массива
 
 
  
 
    //восстановим массив
 
    c = 0;
    for( i = 0; i < rar.size(); i++)
    {
        for(j = m-1; j >= 0 && c < k; j--)
            res.push_back((rar[i] & (uint(1) << j)) > 0), c++;
    }
    printf("Восстановленный массив: ");
    
    for(i = 0; i < res.size(); i++)
        cout << res[i] << ' ';
    cout << endl;
 
    
 system ("pause");
    return 0;
}
Я тут не много переработал.
По какому ты алгоритму делал (как он называется)
И можешь объяснить как это работает словами
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(val == 1)
            mask |= (uint(1) << (31 - ((i - 1) % 32)));
 
        if(i % 32 == 0)
        {
            rar.push_back(mask);
            mask = 0;
        }
    }
 
    rar.push_back(mask);
 
    /*for(int i = 0; i < rar.size(); i++)
        cout << rar[i] << ' ';
    cout << endl;*/
Благодарю заранее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Введите длину массива:  8
Ведите массив из 0 и 1:
0
0
1
1
1
0
1
0
Сжатый массив:  3 10 0
Восстановленный массив: 0 0 1 1 1 0 1 0
Для продолжения нажмите любую клавишу . . .


Вернуться к обсуждению:
Разработка алгоритма и программы сжатия и восстановления массива C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2014, 16:07
Готовые ответы и решения:

Восстановления алгоритма, исходного кода (декомпилирование) старой программы на Фортран
Добрый день, прошу подсказать как лучше решить задачу восстановления алгоритма, исходного кода...

Разработка программы резервного сохранения/восстановления реестра с возможностью отслеживания изменений
Разработать программу, которая выполняет копирование реестра в файл. имя файла должно содержать...

Разработка алгоритма и программы работы с двумерными массивами
Разработать алгоритм и программу решения задачи: найти сумму отрицательных элементов двумерного...

Разработка алгоритма и программы работы с двумерными массивами
(разработать алгоритм и программу решения задачи)-исходные данные: НАЙТИ СУММУ ЭЛЕИЕНТОВ ВТОРОЙ...

17
26.10.2014, 16:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2014, 16:07
Помогаю со студенческими работами здесь

Разработка эскиза, алгоритма и программы в модуле Graph
Разработка эскиза, алгоритма и программы в модуле Graf Задача, сделать такой рисунок в Pascal.

Разработка модели, алгоритма и программы информационного обмена вычислительной системы
Собственно всем доброго времени суток. По теме приведенной в заголовке нужно написать программу,...

Реализация алгоритма сжатия JPEG
помогите пожалуйста! после завтра диплом уже защищать, а я ни на шаг не могу сдвинуться с этой...

Реализация алгоритма сжатия (LZW)
Необходимо реализовать алгоритм LZW...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru