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

Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. - C++

Восстановить пароль Регистрация
 
Obsidian2010
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 21
04.12.2012, 11:39     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. #1
Вот задание:

Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее
попеременно вошли четные символы строки S1 и нечетные символы строки S2.
В качестве длина строки S взять длину меньшей из строк S1 и S2. Сформировать
строку S с использованием функций библиотеки string.h

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 <stdio.h>
#include <iostream>
#include <conio.h>
#include <string.h>
 
void main() {
    char s2[50];
    char s1[50];
    char s[50];
    int k=0;
    setlocale(0,"russian");
    printf("Введите первую строку: \n");
    gets(s1);
    printf("Введите вторую строку \n");
    gets(s2);
 
    if(strlen(s1)<strlen(s2))
        strlen(s)==strlen(s1);
    else strlen(s)==strlen(s2);
 
    for(int i=0;i<strlen(s1);i++) {
        if(i%2!=0)
            s[k++]=s1[i];
        for(int j=0;j<strlen(s2);j++) {
        if(j%2==0)
            s[k++]=s2[j]; }
    
    printf("%s",s);
 
    _getch();
}
получается не то, и выводится тоже хрень какая-то, подскажите как сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 11:39     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2.
Посмотрите здесь:

В матрице M x N переставить строки таким образом, чтобы... C++
Сформировать новый массив В таким образом чтобы в него вошли те элементы массива А, которые являются числами Фибоначи C++
C++ Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию.
поменять местами четные и нечетные символы слова C++
C++ Преобразовать массив таким образом, чтобы сначала располагались четные, а потом нечетные элементы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ps10n1ck
 Аватар для ps10n1ck
53 / 47 / 2
Регистрация: 10.11.2010
Сообщений: 132
04.12.2012, 15:38     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. #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
#include <iostream>
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
 
typedef unsigned int uint;
 
using std::string;
 
int main(){
    string s1;
    string s2;
    string s;
 
    std::getline(cin, s1);
    std::getline(cin, s2);
 
    if(s1.size() > s2.size())
        s.resize(s2.size());
    else
        s.resize(s1.size());
    
    for(uint i = 0; i < s.size(); ++i){
        if(i%2 == 0)
            s.at(i) = s1.at(i);
        else
            s.at(i) = s2.at(i);
    }
 
    cout << s << endl;
    
return 0;
}
только тут есть некоторое уточнение, в массиве нумерация ведется с 0, а символы в строке мы начинаем считать от 1 - так, что смотри, как тебе правильно нужно учитывать четность
Obsidian2010
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 21
04.12.2012, 23:04  [ТС]     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. #3
а как задержать на экране вывод строки составленной?
ps10n1ck
 Аватар для ps10n1ck
53 / 47 / 2
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 00:31     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2. #4
перед return 0;
добавить строку
system("pause");
Yandex
Объявления
05.12.2012, 00:31     Сформировать строку S таким образом, чтобы в нее попеременно вошли четные символы строки S1 и нечетные символы строки S2.
Ответ Создать тему
Опции темы

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