Re[2]: От начинающего
От: Курилка Россия http://kirya.narod.ru/
Дата: 22.04.02 12:37
Оценка:
Здравствуйте Кодт, Вы писали:
К>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 * только лишние мороки, на мой взгляд того не стоящие.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.