С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Поменять местами четные и нечетные по порядку следования слова - C++

07.06.2011, 20:59. Просмотров 855. Ответов 5
Метки нет (Все метки)

Дано предложение, слова в нем разделены пробелом, поменять местами четные и нечетные по порядку следования слова. Напишите пожалуйста программу на Си.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 20:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами четные и нечетные по порядку следования слова (C++):

Поменять местами четные и нечетные по порядку следования слова - C++
Дано предложение, слова в нем разделены пробелом, поменять местами четные и нечетные по порядку следования слова. Добавлено через 35...

Составить алгоритм меняющий местами четные и нечетные по порядку слова в тексте - C++
составить алгоритм меняющий местами четные и нечетные по порядку слова в тексте

Поменять местами четные и нечетные символы слова - C++
Как поменять местами четные и нечетные символы слова? Заранее спс!

Поменять местами четные и нечетные биты - C++
прошу помощи, код ниже, на выходе получаю 01011010 в чем ошибка? #include<iostream> #include<string> #include<cstring> ...

Найти четные и нечетные элементы одномерного массива и поменять их местами - C++
найти четные и нечетные элементы одномерного массива и поменять их местами

Найти четные и нечетные элементы одномерного массива и поменять их местами - C++
Найти четные и нечетные элементы одномерного массива и поменять их местами.

5
kisya8
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 18
07.06.2011, 23:27 #2
И если можно,в С++
0
FRAY
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 14
07.06.2011, 23:30  [ТС] #3
Цитата Сообщение от kisya8 Посмотреть сообщение
И если можно,в С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string>
#include <iostream>
#include <vector>
#include <conio.h>
#include <stdlib.h>
#include <sstream>
#include <iterator>
 
int main()
{
        std::cout << "Enter the sentence" << std::endl;
        std::string s;
        std::getline(std::cin, s);
        std::vector<std::string> v;
        std::stringstream str(std::stringstream::in | std::stringstream::out);
        str << s;
        std::copy(std::istream_iterator<std::string>(str), std::istream_iterator<std::string>(), std::back_inserter(v));
        for(size_t i = 0; i < v.size() && i < (v.size() - 1); i += 2)
                swap(v[i], v[i + 1]);
        std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, " "));
        _getch();
        return EXIT_SUCCESS;
}
0
kisya8
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 18
07.06.2011, 23:32 #4
Спасибо большое,а что нужно дописать,чтобы заданная строка была сохранена в один файл,а результат в другой?
0
FRAY
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 14
10.06.2011, 00:57  [ТС] #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
#include "stdafx.h"
#include <string.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int m=0,n=0,t,dlina,count,i,j;
    int Indexes[40][2];
    char s,s1[20],s2[20];
    printf ("vvedite predlozhenie:\n");
    scanf ("%s",&s);
    printf ("vvedite kol-vo elementov:\n");
    scanf ("%d",&dlina);
    count=0;
    for (i=0;i<dlina;i++){
*       if ((s[i]==' ') && (s[i+1]!=' ')){
            Indexes[count][0]=i;
        }
        else{ 
            Indexes[count][1]=i;}
        count++;
    }
    count=0;
    for (j=Indexes[count][0];j<Indexes[count][1];j++){
        t=count%2;
        if (t=0) {
*           s1[m]=s[j];
            m++;
        }
        else {
*           s2[n]=s[j];
            n++;}
    }
 
    return 0;
}
помогите закончить программу. еще в программе в помеченных строчках появляется ошибки:
"error C2109: для индекса требуется массив или указатель" и "IntelliSense: выражение должно иметь тип указателя на объект"
0
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
10.06.2011, 02:20 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от FRAY Посмотреть сообщение
Дано предложение, слова в нем разделены пробелом, поменять местами четные и нечетные по порядку следования слова.
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 <string>
#include <sstream>
 
int main(){
    std::string s;
    
    while ( std::cout << "String: " && std::getline(std::cin, s) && ! s.empty() ){
        std::cout << "Result: ";
        std::istringstream iss(s);
        std::string s1, s2;
        while ( iss >> s1 ){
            if ( iss >> s2 )
                std::cout << s2 << " ";
            std::cout << s1 << " ";
        }
        std::cout << std::endl;
    }
 
    return 0;
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ], * s1, * s2;
 
    while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){
        printf("Result: ");
        s1 = strtok(buf, " \t");
        while ( s1 ){
            if ( s2 = strtok(NULL, " \t") )
                printf("%s ", s2);
            printf("%s ", s1);
            s1 = strtok(NULL, " \t");
        }
        printf("\n");
    }
 
    return 0;
}
Цитата Сообщение от kisya8 Посмотреть сообщение
что нужно дописать,чтобы заданная строка была сохранена в один файл,а результат в другой?
в командной строке
Код
my_greatest_program < input.txt > output.txt
1
10.06.2011, 02:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2011, 02:20
Привет! Вот еще темы с ответами:

Дано целое число поменять в нем местами четные и нечетные цифры - C++
К примеру число 10110101 должно выглядеть так 01111010 не могу сообразить как замену сделать #include&lt;iostream&gt; using namespace...

Создать двумерный массив и поменять в нем местами четные и нечетные элементы - C++
написать двумерный массив и поменять в нем местами четные и нечетные элементы

Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные - C++
Помогите пожалуйста с написанием программы. Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем...

Переставить местами четные и нечетные элементы в массиве - C++
Здравствуйте уважаемые форумчани!Прошу с задачей мне помочь,нужно переставить местами четные и нечетные элементы в массиве.Например:(до) ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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