Напишите программу, которая предлагает пользователю ввести две строки,
а затем сравнивает их, игнорируя "регистровые" различия, т.е. прописные и
строчные буквы ваша программа должна воспринимать как одинаковые.
мой код:
#include <iostream>
using namespace std;
int main () {
char z[80],x[90];
int i,j;
cout << "Vvedite stroka 1 ";
cin >> z;
cout << "VVedite stroky 2 ";
cin >> x;
for (i = 0; x[i]; i++) {
for (j = 0; z[j]; j++) {
if (isupper (x[i]))
x[i]=tolower(z[j]);
if (toupper (x[i]))
x[i]=islower(z[j]);
if (isupper (z[j]))
z[j]=tolower(x[i]);
if (toupper (z[j]))
z[j]=islower(x[i]);
}
}
for (i = 0; x[i]; i++) {
for (j = 0; z[j]; j++) {
if ( x[i] == z[j]){
cout << "[" << x[i] << "] = [" << z[j] << "]";
break;
}
}
}
return 0;
}
подскажите хотяб алгоритм
25 февраля 2009 в 23:03
а разве libc не предоставляет поддержку локалей?
25 февраля 2009 в 21:02
Не только языка, но и некой культуры, то есть с учётом локалей пользователей. Вот здесь, например, об этом подробнее написано: //lafstern.org/matt/col2_new.pdf и //www.gotw.ca/gotw/029.htm
25 февраля 2009 в 19:00
"грамотное" – то есть для произвольного языка и произвольной кодировки?
25 февраля 2009 в 17:03
Да-да, «using namespace std;» — это чистый C А вообще грамотное решение задачи довольно сложное, особенно если её решать на C++.
24 февраля 2009 в 17:05
про начинающих, заметьте, не было сказано.
Керниган и Ричи, затем Шилдт.
24 февраля 2009 в 17:05
А я за Дейтелов!
24 февраля 2009 в 15:02
Брюс Эккель. Философия программирования. – это не слишком сложно для начинающего?
24 февраля 2009 в 14:05
кароче посовтуйте хороший учебник по С++
24 февраля 2009 в 14:05
Брюс Эккель. Философия программирования.
24 февраля 2009 в 14:00
stricmp =)
24 февраля 2009 в 14:00
#include <stdio.h>
#include <string.h>
int main(void)
{
/* Compare two strings as lowercase*/
if (0 == stricmp("hello", "HELLO"))
printf("The strings are equivalent.\n");
else
printf("The strings are not equivalent.\n");
return 0;
}
24 февраля 2009 в 13:05
Юзать cmpstr, предварительно перегнав обе строки в верхний (нижний) регистр.