Показать сообщение отдельно

  #4  
Старый 24.06.2009, 22:25
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Код:
#define NameDict 'dict.slo'
#define Max 100

char Word1[30], Word2[30];
FILE* FileDict;
char M[Max][30];
int I, L;
bool Eq;

bool NonEqualLength(char* S1, char* S2) {
bool F,R;
F = True;
While (F) {
If (S1[1] == S2[1]) {
 //Delete(S1, 1, 1); ??
 //Delete(S2, 1, 1); ??
}
Else F = False;
}

F = True;
While (F) {
If (S1[strlen(S1)] == S2[strlen(S2)]) {
 //Delete(S1, Length(S1), 1); ??
 //Delete(S2, Length(S2), 1); ??
}
Else F = False;
}

If (strlen(S1) == 0) || (strlen(S2) == 0)
R = True
Else R = False;

NonEqualLength = R;
}

bool EqualLength(char* S1, char* S2 ) {
bool F;
int I, R=0, Error1, Error2;

For (I = 0; i<strlen(S1); i++) {
If (S1[I] != S2[I]) {

If ++R = 1  Error1 = I;
If ++R = 2  Error2 = I; // Жеееесть, а не алгоритм ))
}
}

F = False;
If (R == 0)
 F = True;
 // do you know what is 'case'? )
If (R == 1)
 F = True;

If ( (R == 2) && (S1[Error1] == S2[Error2]) && (S1[Error2] == S2[Error1]) )
F = True;

EqualLength = F;
}

char UpperCaseRus(char RusChar) {

switch(RusChar) {
case '*'..'Ї': UpperCaseRus = //Chr(Ord(RusChar)-32); 
case 'а'..'п': UpperCaseRus = //Chr(Ord(RusChar)-80);
case 'с' : UpperCaseRus = 'р';
default: UpperCaseRus = UpCase(RusChar);
}
}

char* UpString(char* S) {
char* NewString;
NewString='';
For (int I=0; I<strlen(S); I++)
NewString += UpperCaseRus(S[I]);
UpString = NewString;
}

void Orphography (char* W1, char* W2) {
bool F=False;

If (strlen(W1) == strlen(W2)) 
F = EqualLength (W1, W2);

If (Abs(strlen(W1)-strlen(W2)) ==1) 
F = NonEqualLength (W1, W2);

If (F)
M[L++] = W1;
}

void main() {

For (I = 0; I < Max; I++) M[I] = '';
L = 1;

printf("‚ўҐ¤ЁвҐ б«®ў® ¤«п Їа®ўҐаЄЁ: ");
scanf("%s", Word2);
Word2 = UpString(Word2);

Eq = True;
int c;

if((FileDict = fopen(NameDict, "r")) { // read, write xz
	while ((c=fgec(FileDict))!=EOF) {
		fscanf(FileDictm "%s", &Word1)'
		Word1 = UpString(Word1);
		If (Word1==Word2) Eq=Flase;
		Orphography (Word1, Word2);
	}
		fclose(FileDict);
}	


If (!Eq)
WriteLn ('Ћв«Ёз*®! ’*Є®Ґ б«®ў® Ґбвм ў б«®ў*аҐ!');
Else {
 If (L != 1)  {
printf ("‚®§¬®¦*® б«®ў® **ЇЁб**® *Ґ ўҐа*®.");
printf ("‚*аЁ**вл §*¬Ґ*л: ");
For (I = 1; I < L; I++) printf('  %s', M[I]);
printf("\n");
}
 Else printf("ЌҐЁ§ўҐбв*®Ґ б«®ў®. ?§ўЁ*ЁвҐ.");
}

printf("... **¦¬ЁвҐ Є«*ўЁиг ...");
}
Вот набросал. Врятли это будет компилиться, но этот код уже гораздо легче доработать, разумеется, если есть хоть какие-то знания в этой области.

Последний раз редактировалось Fata1ex; 25.06.2009 в 03:02..
 
Ответить с цитированием