Форум программистов, компьютерный форум CyberForum.ru

Строковые массивы - C++

Восстановить пароль Регистрация
 
kbu
 Аватар для kbu
2 / 2 / 0
Регистрация: 30.07.2010
Сообщений: 76
06.10.2010, 12:37     Строковые массивы #1
Уважаемые форумчане,
у меня задача заключается в следущем:необходимо в строковом массиве переставить слова в обратном порядке,я делаю так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <windows.h>
#include <string.h>
using namespace std;
 
void pipec (char *ps1, char *ps2, int temp){
    for (int i=temp-2; i>=0; i--){
        cout << ps1[i];
        ps2[temp-2-i]=ps1[i];
    }
}
void main (){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int temp;
    char s1[]="Тут пишется текст", *ps1, s2[]="", *ps2;
    ps1=s1;
    ps2=s2;
    temp=sizeof(s1);
    pipec(&ps1[0], &ps2[0], temp);  
}
в функции цикл у меня рисует нормально символы от последнего к первому,но ошибка вылетает на шаге копирования симоволов из первого массива во второй,как правильно написать чтобы скопировать символы?

ЗЫ (я знаю что можно делать через функции str.....но все же...)мне просто важно как правильно занести букивки с одного массива во второй.Спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2010, 12:37     Строковые массивы
Посмотрите здесь:

C++ строковые
C++ Сравнить строковые массивы
Строковые массивы. C++
C++ как правильно вводить строковые массивы из файла?
Строковые переменные (символьные массивы) C++
Строковые массивы C++
Строковые массивы, вывод и операции над числами в двумерном массиве C++
Строковые массивы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
obuhanoe
23 / 21 / 2
Регистрация: 25.08.2010
Сообщений: 93
06.10.2010, 12:59     Строковые массивы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <cstring>
 
 
using namespace std;
 
// функция переставляющая символы в обратном порядке
void rev(char* revers)
{
 
   char cimv;
    for(int i = 0, j = strlen(revers)-1; i < j; i++, j--)
    {
         cimv = revers[i];
         revers[i] = revers[j];
         revers[j] = cimv;
    }
 
    cout << revers;
 
}
 
//=================================================================
int main (int argc, char* argv[]) // когда передаем 2 значения
{
 
   char* ch_rev = new char[50];
   cin.getline(ch_rev,50);
 
 
   rev(ch_rev);
   delete [] ch_rev;
 
 
 
   return 0;
}
я когда так делал
kbu
 Аватар для kbu
2 / 2 / 0
Регистрация: 30.07.2010
Сообщений: 76
06.10.2010, 13:27  [ТС]     Строковые массивы #3
Цитата Сообщение от obuhanoe Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <cstring>
 
 
using namespace std;
 
// функция переставляющая символы в обратном порядке
void rev(char* revers)
{
 
   char cimv;
    for(int i = 0, j = strlen(revers)-1; i < j; i++, j--)
    {
         cimv = revers[i];
         revers[i] = revers[j];
         revers[j] = cimv;
    }
 
    cout << revers;
 
}
 
//=================================================================
int main (int argc, char* argv[]) // когда передаем 2 значения
{
 
   char* ch_rev = new char[50];
   cin.getline(ch_rev,50);
 
 
   rev(ch_rev);
   delete [] ch_rev;
 
 
 
   return 0;
}
я когда так делал
спасибо за ответ....но вот что-то все равно не могу понять как заносить из одного массива буквы во второй...
Yandex
Объявления
06.10.2010, 13:27     Строковые массивы
Ответ Создать тему
Опции темы

Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru