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

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

Войти
Регистрация
Восстановить пароль
 
nikitoz_ru
5 / 5 / 0
Регистрация: 06.06.2009
Сообщений: 24
#1

Описать функцию, которая изменяет заданную строку следующим образом - C++

07.06.2009, 15:19. Просмотров 527. Ответов 6
Метки нет (Все метки)

задача:Описать функцию, которая изменяет заданную строку следующим образом: сначала записывает все элементы с четными индексами, а затем все элементы с нечетными индексами ( с сохранением их относительного порядка в каждой группе). Например, abcdefgh => acegbdfh, vwxyz => vxzwy.
компилятор:borland c++
вот ошибки:

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
#include <iostream>
using namespace std;//компилятор пишет declaration syntax error
 
int main(int argc, char *argv[]) {
 
    cout << "\nLine: ";
    const int lineLength = 256;
    char lineBuffer[lineLength] = "\0";
    cin >> lineBuffer;
 
    char resultBuffer[lineLength] = "\0";
 
    int j = 0;
    for (int i = 0; i < lineLength; i+=2) {
        if (lineBuffer[i] != '\0')  
            resultBuffer[j++] = lineBuffer[i];
        else break;
    }
    for (int i = 1; i < lineLength; i+=2) {//multiple declaration for 'i'
        if (lineBuffer[i] != '\0') 
            resultBuffer[j++] = lineBuffer[i];
        else break;
    }
 
    cout << "\nResult: " << resultBuffer << '\n';
    return 0;
}//Parameter 'argc' in never used
если можно обьясните или подкариктируйте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2009, 15:19     Описать функцию, которая изменяет заданную строку следующим образом
Посмотрите здесь:

Написать функцию которая будет умножать любую строку на уже заданную матрицу - C++
Написать функцию которая будет умножать любую строку на уже заданную матрицу

Описать функцию, которая формирует текстовую строку - C++
Дан текст в файле F1 в виде: ИМЯ ОТЧЕСТВО ФАМИЛИЯ_1 ИМЯ ОТЧЕСТВО ФАМИЛИЯ_2 ... Описать функцию, которая формирует текстовую строку...

Описать функцию PoslSu(t), которая выводит на печать последнюю строку непустого текстового файла - C++
Описать функцию PoslSu(t), которая выводит на печать последнюю строку непустого текстового файла t (t-файловая переменная). Каким образом...

Составить программу, которая превращает неупорядоченные массивы В [16] и С [20] следующим образом - C++
Составить программу, которая превращает неупорядоченные массивы В и С следующим образом: меняет значения элементов с максимальным...

Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 - C++
Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 То есть,если A=1234 B=5678,то ...

а) Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом - C++
а) Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом: первый элемент будет равняться сумме ...

Дана прямоугольная матрица А размером N × M. Составить программу, которая преобразует матрицу следующим образом: поэлементно вычитает первый столбец - C++
Дана прямоугольная матрица А размером N × M. Составить программу, которая преобразует матрицу следующим образом: поэлементно вычитает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
07.06.2009, 15:31     Описать функцию, которая изменяет заданную строку следующим образом #2
Вообще код рабочий. попробуй так:
это
C++
1
2
3
4
#include <iostream>
using namespace std;//компилятор пишет declaration syntax error
 
int main(int argc, char *argv[]) {
замени на
C++
1
2
3
#include <iostream.h>
 
int main() {
Добавлено через 1 минуту 39 секунд
и здесь
C++
1
for (int i = 1; i < lineLength; i+=2) {//multiple declaration for 'i'
попробуй так
C++
1
for ( i = 1; i < lineLength; i+=2) {
nikitoz_ru
5 / 5 / 0
Регистрация: 06.06.2009
Сообщений: 24
07.06.2009, 15:34  [ТС]     Описать функцию, которая изменяет заданную строку следующим образом #3
все зароботало спасибо
nikitoz_ru
5 / 5 / 0
Регистрация: 06.06.2009
Сообщений: 24
11.06.2009, 08:22  [ТС]     Описать функцию, которая изменяет заданную строку следующим образом #4
народ помогите написать эту программу через указатели.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
11.06.2009, 10:35     Описать функцию, которая изменяет заданную строку следующим образом #5
Так
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
38
#include <iostream.h>
//#include <iostream>
//using namespace std;
 
int main() 
{
 
    cout << "\nLine: ";
    const int lineLength = 256;
    char lineBuffer[lineLength] = "\0";
 
 
    char resultBuffer[lineLength] = "\0";
 
    const char *p = lineBuffer;
    char *pr = resultBuffer;
 
    cin >> lineBuffer;
 
    for (; p; p += 2) 
    {
        if (*p != '\0')      
            *(pr)++ = *p;
        else break;
    }
 
    p = lineBuffer;
    ++p;
    for (; p; p+=2) 
    {
        if (*p != '\0') 
            *pr++ = *p;
        else break;
    }
 
    cout << "\nResult: " << resultBuffer << '\n';
    return 0;
}
nikitoz_ru
5 / 5 / 0
Регистрация: 06.06.2009
Сообщений: 24
11.06.2009, 14:31  [ТС]     Описать функцию, которая изменяет заданную строку следующим образом #6
ISergey, это понятно ,но массивов типа:
char lineBuffer[lineLength] = "\0";
char resultBuffer[lineLength] = "\0";
не должно быть.должны быть только указатели.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2009, 15:02     Описать функцию, которая изменяет заданную строку следующим образом
Еще ссылки по теме:

Как передать заданную строку матрицы в функцию? - C++
есть массив и из него надо взять определенную строку состоящей из неизвестного количества элементов и поместить в отдельную функцию. знаю,...

Разработать процедуру или функцию, выполняющую заданную операцию над строками. Предусмотреть и описать реакцию на некорректное задание параметров. - C++
Не использовать имеющиеся в языке средства обработки строк. Определить количество вхождений каждого из символов в строке s Имя...

Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В - C++
Помогите с задачей, пожалуйста. Даны строки А и В. Напишите функцию, которая определяет, можно ли из символов, входящих в А, составить...

Разработать и испытать функцию, которая переворачивает строку и возвращает указатель на перевёрнутую строку - C++
Разработать и испытать функцию, которая переворачивает строку и возвращает указатель на перевёрнутую строку. Прототип функции инверсии...

Написать функцию которая копирует строку S1 в строку S2 N раз, без использования Strcopy - C++
Написать функцию которая копирует строку S1 в строку S2 N раз, без использования Strcopy


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

Или воспользуйтесь поиском по форуму:
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
11.06.2009, 15:02     Описать функцию, которая изменяет заданную строку следующим образом #7
Так!
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
38
39
#include <iostream.h>
//using namespace std;
 
int main() 
{
 
    cout << "\nLine: ";
    const int lineLength = 256;
 
    char *lineBuffer   = new char[lineLength];   memset(lineBuffer,0,lineLength);
    char *resultBuffer = new char[lineLength];   memset(resultBuffer,0,lineLength);
    
    const char *p = lineBuffer;
    char *pr = resultBuffer;
 
    cin >> lineBuffer;
 
    for (; p; p += 2) 
    {
        if (*p != '\0')      
            *pr++ = *p;
        else break;
    }
 
    p = lineBuffer;
    ++p;
    for (; p; p+=2) 
    {
        if (*p != '\0') 
            *pr++ = *p;
        else break;
    }
 
    cout << "\nResult: " << resultBuffer << '\n';
 
    delete[] lineBuffer;
    delete[] resultBuffer;
    return 0;
}
Yandex
Объявления
11.06.2009, 15:02     Описать функцию, которая изменяет заданную строку следующим образом
Ответ Создать тему
Опции темы

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