Здравствуйте Курилка, Вы писали:
К>Здравствуйте Кодт, Вы писали:
К>>1) использовать std::string вместо статического массива
К>вот мой (ещё один ламерский
) код:
К>К>#include<iostream>
К>#include<string>
К>void main(void){
К> std::string string;
К> char temp;
К> int len, mid;
К> std::cout << "Lamer, vvedi string\n";
К> std::cin >> string;
К> len = string.size()-1;
К> mid = len / 2;
К> for(int i = 0; i <= mid ;i++){
К> temp = string[i];
К> string[i] = (char)string[len-i];
К> string[len-i] = temp;
К> }
К> std::cout << string<<"\n";
К>}
К>
К>>2) использовать указатели там, где у тебя индексы
К>Но по-моему от этого мало чего не изменится (или опять оптимизация за счёт лишней разиндексации?)
К>вот ещё один кусочек(если кому покритиковать охота
):
К>К>#include<iostream.h>
К>#include<string.h>
К>void main(void){
К> char Text[] = "Hi! It's fun!";
К> char *string, *p1, *p2;
К> char temp;
К> int len;
К> string = new char[sizeof(Text)];
К> strcpy( string, Text);
К> len = strlen(string)-1; // нуль нам не нужен
К> for(p1 = string, p2 = string+len; p1!=p2; p1++,p2--){
К> temp = *p2;
К> *p1 = *p2;
К> *p1 = temp;
К> }
К> cout << string<<"\n";
К> delete[] string;
К>}
К>
К>>3) использовать системную функцию strrev
К>вот это самое прямое — нафиг писать то, что уже есть, делает то что нужно и вроде себя зарекомендовало, хотя со вводом char * только лишние мороки, на мой взгляд того не стоящие.
А слабо без переменной temp ?