Re[3]: От начинающего
От: flyker Россия  
Дата: 22.04.02 13:45
Оценка:
Здравствуйте Курилка, Вы писали:

К>Здравствуйте Кодт, Вы писали:

К>>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 ?
Все гениальное — просто
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.