Скачиваний:
48
Добавлен:
22.06.2014
Размер:
2.69 Кб
Скачать
#include <stdio.h>
#include <string.h>
///////////////////
//подсчет количества символов в строке,
//не считая байта с нулевым значением
//////////////////
char ch1[]="как твои дела?";
char ch2[]="привет мир";
int strlen(char *str)
{
int i=0;
while(*str++) i++;
//for(i=0;*str;str++) i++;//второй вариант реализации
return i;
}
//////////////////////////
//подсчет количества слов в предложении, записанного как строка
//символов. Разделителем между словами являются пробелы.
//количества слов не ограничено
int SizeWord(char *express)
{
int size=1;
while(*express==' ') express++;
while(*express)
{
if(*express==' ')
{
size++;
while(*express==' ')express++;
}
else
	express++;
}
return size;
}
//////////////////////////
//сравнение строк на равенство
//1-строки совпали
//0-строки не совпали
////////////////////
int strcmp1(char *str1,char *str2)
{
while(*str1)
{
if(*str1++ != *str2++) return 0;
}
return 1;
}
////////////////////////////
//лексикографическое сравнение между строками
//1 - str1>str2
//-1 - str1<str2
//0 - str1==str2
//////////////////
int strcmp2(char *str1, char *str2)
{
while(1)
{
if(*str1>*str2) return 1;
else
	if (*str1<*str2) return -1;
if(!*str1) return 0;
str1++;
str2++;
}
}
///////////////////////////////
//раздвинуть строку на один символ,
//начиная с первого, на количество байт,
//заданного в size
////////////////////////////
void Rasdvig(char ptr[],int size)
{
int i;
int len;
len=strlen(ptr);
for(i=len;i>0;i--) ptr[i+size]=ptr[i];
}
/////////////////////////////////
//удаление символа со сдвигом влево,
//удаляется первый символ
//////////////////////////////
void Sdvig(char ptr[])
{
int i;
int len=strlen(ptr);
for(i=0;i<len;i++) ptr[i]=ptr[i+1];
}
//////////////////////////////////
//замена символа табуляции
//на количество пробелов, заданных в size
///////////////////////////////////////
int ReplaceTab(char *str,int size)
{
int i;
int len=strlen(str);
for (i=0;i<len;i++)
{
if(str[i]=='\t')
{
Rasdvig(&str[i],size);
len+=size;
i+=size;
}
}
return len;
}
//////////////////////////////////
//функция определяет вхождение в
//строки tst в строку по указателю ch
////////////////////////////////////
char ch[]="привет, как твои дела?";
int match(char *tst)
{
char *chp=ch;
while(*tst)
{
if(*tst++!=*chp++) return 0;
}
*ch=*chp;
return 1;
}
/////////////////////////////
//преобразование строки в число
/////////////////////////////
int CharToInt(char *num)
{
int rez=0;
while(1)
{
if(*num<'0' || *num>'9') return rez;
rez+=*num-'0';
num++;
}
}
///////////////////////////////////////
void main()
{
}
Соседние файлы в папке 2-1 Алгоритмические языки