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

Си++ Лабораторка - C++

Восстановить пароль Регистрация
 
theberov
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 18
20.06.2011, 22:45     Си++ Лабораторка #1
Удалить из s1, ... , sn все слова с нечетными порядковыми номерами и перевернуть все слова с четными номерами. Например, если n=21 и данная последовательность символов представляет собой последовательность во_что_бы_то_ни_стало, то должна получиться последовательность отч_от_олатс.

и если не сложно блок схемку начеркать.

ну тут ясно, что надо написать код в Си++ с использованием массивов и всё такое.
Интуиция мне подсказывает, что это не так сложно.
Надежда подсказывает, что здесь есть люди, которые мне помогут, Вера её поддерживает, а Любка за молоком ушла!

Пожалуйста помогите!!! Прям надо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 22:45     Си++ Лабораторка
Посмотрите здесь:

C++ Лабораторка
C++ Лабораторка с матрицами
Отсортировать ведомости о факультетах Turbo Pascal
Лабораторка по С++ на одномерный массив C++
Лабораторка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
20.06.2011, 23:13     Си++ Лабораторка #2
:cofee:
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 <vector>
#include <iostream>
#include <algorithm>
using namespace std;
 
void main(void) {
 
    vector<string>   d;
 
    d.push_back( "Honda" );
    d.push_back( "YAZ" );
    d.push_back( "Audi" );
    d.push_back( "Toyota" );
    d.insert(&d[ d.size() >> 1 ], "Mazda" );
    d.push_back( "Opel" );
    
prev:
    vector<string>::iterator  iter = d.begin();
    for( ; iter !=  d.end();  *iter++ ) {
        if( (*iter).length()  % 2 ) {
            d.erase(iter);
            goto prev;
        } else {
                   reverse(  (*iter).begin(), (*iter).end());
        }
    }
 
 
            iter = d.begin();
    while( iter != d.end() ) {
        cout << (*iter).c_str() << endl;
        *iter++;
    }
    d.clear();
 
           cin.get();
}
theberov
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 18
20.06.2011, 23:17  [ТС]     Си++ Лабораторка #3
Это точно то самое?
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
20.06.2011, 23:39     Си++ Лабораторка #4
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 <cstring>
using namespace std;
 
int main() {
    char str[256];
    char rez[256];
    char *pm[30];
    int count = 0;
    char *p;
    cout << "enter words:\n";
    cin.getline(str, 255);
    p = strtok(str, " ");
    while (p) {
        pm[count] = p;
        count++;
        p = strtok(0, " ");
    }
    p = rez;
    for (int i = 1; i < count; i += 2) {
        // переворачиваем четные слова слова
        for (int j = strlen(pm[i]) - 1; j >= 0; j--) {
            *p = pm[i][j];
            p++;
        }
        *p++ = ' '; // пробел в конце слов
    }
    *(p-1) = '\0'; // меняем последний пробел на конец строки
    cout << rez << endl;
    return 0;
}
то же самое, только вид сбоку )
Yandex
Объявления
20.06.2011, 23:39     Си++ Лабораторка
Ответ Создать тему
Опции темы

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