Re: простой пример
От: Turyst  
Дата: 09.01.10 12:40
Оценка:
Здравствуйте, Andruxa-1, Вы писали:

A1>Добрый день! Накропал простенькую ф-цию — реверс. Ф-ция не работает — не меняет местами элементы.

A1>В отладке выдает унайбл экцепишн. Компилятор 6 студия.
A1>Кривые руки?

A1>
A1>#include "stdafx.h"
A1>#include "iostream.h"
A1>#include "string.h"

A1>void reverse(char *str, int count = 0)
A1>{
A1>    char tch;

A1>    if(!count)
A1>        count = strlen(str) - 1;

A1>    for(int i = 0, j = count; i < count; i++, j--)
A1>    {
A1>        tch = str[i];
A1>        str[i] = str[j]; //Не меняет местами
A1>        str[j] = tch;
A1>    }
A1>}

A1>int main(int argc, char* argv[])
A1>{
A1>    char *str = "1234567890";

A1>    reverse(str, 5);
A1>    reverse(str);

A1>    cout << str;

A1>    return 0;
A1>}
A1>


Хмм, ну ты вроде два раза меняешь местами элементы, по этому и кажется, что они не поменялись местами
Цикл должен идти до половины массива.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.