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

Заархивировать файл, используя следующий алгоритм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С/С++ и контроллеры http://www.cyberforum.ru/cpp-beginners/thread93024.html
Добрый день. Вот хотел поинтересоваться имеется ли какая нибудь хорошая литература по программированию контроллеров ? и какой язык чаще используется С или С++ для прогр. контроллеров ?
C++ Странное поведение (сдвиг) Здравствуйте.Прошу помочь с задачкой. Программа , должна "сдвигать" данные в один бит(128), но при вызове функции с разными параметрами, выводит дублирующиеся значения результатов. Суть проблемы: Не воспринимается изменение входящих параметров: этот кусок программы выводит белиберду такого вида.... !!!!!!54 : 0 SHIFT byte:54////////54-55 дубляж ! , но ведь значения функция принимает разные в... http://www.cyberforum.ru/cpp-beginners/thread93015.html
C++ Соединение отрезков
Дан массив целых чисел x..x, рассматриваемый как соединение двух его отрезков: начала x..x длины m и конца x..x длины n. Не использую дополнительных массивов переставить начало и конец.(число действий порядка m+n);
C++ The variable 'pp' is being used without being initialized
В visual C++ 2008 EE создаю всё как надо ,в файле .cpp пишу вот такой текст программы: #include<iostream> #include<cmath> using namespace std; int main(){ double principal,intrate,pp,numyers,peyment,numer,denom,b,e; setlocale( LC_ALL,"Russian" );
C++ Что это означает? http://www.cyberforum.ru/cpp-beginners/thread92962.html
if (!fgets(str,STRLEN, stdin)) и еще for(cnt=0,p=strtok(str,SPCHARS); p!=NULL;p= strtok(NULL,SPCHARS)) прокоментируете пожалуйста if(*p == *(p+strlen(p)-1)) ++cnt; плиззз
C++ Прога на СИ!1!! Распечатать введенную строку, удалив из нее символы, не являющиеся буквами и цифрами, и заменив каждую цифру на ‘*’. Очень нужна помощь кто может помочь буду благодарен... можно на почту или тут... подробнее

Показать сообщение отдельно
Alex83
 Аватар для Alex83
13 / 13 / 0
Регистрация: 06.02.2010
Сообщений: 19
06.02.2010, 17:34     Заархивировать файл, используя следующий алгоритм
Ну я не знаю , каким именно путем вы собираетесь работать с файлами....
Однако вот мой вариант для работы с архивом.
Алгоритм , конечно гавно , но работает.
Просто как вариант.
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
#include <iostream.h>
#include<conio.h>
#include<stdlib.h>
#include <stdio.h>
char arp[]={'a','a','a','b','b','c','c','c','c','1','2','2','3','4','4','4','5','d','e','e','e'};
///это для примера , меняйте или дописывайте в массив своё......
//aaa,bb,cccc,1,22,3,444,5,d,eee;///// я так ,для визуальной понятности
bool dig(char a)///определяет: символ как цифра(вернет 1) или нет(вернет 0)
{
if((a=='0')||(a=='1')||(a=='2')||(a=='3')||(a=='4')||(a=='5')||(a=='6')||(a=='7')||(a=='8')||(a=='9'))
return 1;
else return 0;
return 0;
}
void proced(void)
{int as, p=0,ps=0;
p=0;as=sizeof(arp);
while(p<as)
{
    if((arp[p])==(arp[p+1]))// если у нас 2 символа подряд одинаковые....
    {
                for(ps=2;ps>0;ps++)
                {if(arp[p]!=arp[p+ps])break;}////то считаем их кол-во от 2-х до....
                cout<<ps<<"."<<arp[p]<<":"<<endl;////выводим "СЖАТОЕ" значение
                p=p+ps;///перемещаемся по архиву до нового символа
    }
    else////////если у нас одиночный символ , то
        {
            if(dig(arp[p])){cout<<"1."<<arp[p]<<":"<<endl;}////с разделителем "1."выводим цифру
            else{cout<<arp[p]<<":"<<endl;}/// и просто выводим символ.
            p++;/// двигаем дальше по массиву
        }
    
}   
 
}
void main(){
 
proced();// собственно вызов функции
getch();//ждем нажатия клавиш
}
Ну а разделители (":" или ".") или перевод строки - это просто для удобства чтения результата.
Убирайте , если не нужно.

Добавлено через 7 минут
На выходе у меня было вот такое....
C
1
2
3
4
5
6
7
8
9
10
3.a:
2.b:
4.c:
1.1:
2.2:
1.3:
3.4:
1.5:
d:
3.e:
 
Текущее время: 05:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru