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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nondeadlollipop
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 20
#1

Поменять в строке слова - C++

03.01.2011, 17:30. Просмотров 382. Ответов 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
#include <iostream>
#include <conio.h>
#include <string.h>
#include <math.h>
using namespace std;
 
 
 
 
void main()
{
    char str[30],*p,*mass[30];
    int k=-1;
    char *buf=new char [30];
    puts("stroka");
    gets(str);
    p=strtok(str," ");
    while(p)
    {
    k++;
        strcpy(mass[k],p); //в этой строке выдает ошибку(!)
        
        p=strtok(NULL," ");
    }
    for(int i=0;i<k;i++)
        {strcpy(buf,mass[i]);
        strcpy(mass[i],mass[k-1]);
        strcpy(mass[k-1],buf);
        puts(mass[i]);}
    getch();
}
Ошибка рода:Необработанное исключение в "0x58a3d322 (msvcr100d.dll)" в "exzad.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
и идет переадресация на файл strcat.asm
Что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 17:30     Поменять в строке слова
Посмотрите здесь:

Поменять соседние слова в строке местами C++
Поменять каждые два соседних слова в строке местами C++
C++ Поменять местами в строке первое и последнее слова
C++ Поменять местами слова в строке C++
C++ В каждой строке текстового файла поменять местами первое и последнее слова
C++ Поменять местами слова в строке
Поменять в строке местами два слова (Паскаль -> C++) C++
Поменять местами первое и последнее слова в строке C++
В заданной строке поменять местами второе и предпоследнее слова C++
Поменять слова в строке: первое со вторым, второе с третьим, третье с четвертым C++
C++ Поменять в строке местами соседние слова (fstream)
C++ Поменять местами слова в строке, состоящей из двух слов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1611 / 1239 / 124
Регистрация: 21.12.2010
Сообщений: 1,892
Записей в блоге: 7
04.01.2011, 00:45     Поменять в строке слова #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
#include <iostream>
#include <string.h>
using namespace std;
 
main()
{
        char str[30],*p;
        int k=0;
        char *buf=new char [30];
        char **mass=new char *[30];
        for(int i=0;i<30;i++){
            mass[i]=new char[30];
        }
        cout<<"stroka\n";
        cin.getline(str, 30);
        p=strtok(str," ");
        while(p){
            strcpy(mass[k],p);
            k++;
            p=strtok(NULL," ");
        }
            strcpy(buf,mass[0]);
            strcpy(mass[0],mass[k-1]);
            strcpy(mass[k-1],buf);
            for(int i=0;i<k;i++){
                cout<<mass[i]<<" ";
            }
}
nondeadlollipop
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 20
04.01.2011, 17:25  [ТС]     Поменять в строке слова #3
большое спасибо вам!!!
Yandex
Объявления
04.01.2011, 17:25     Поменять в строке слова
Ответ Создать тему
Опции темы

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