Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45

Объединение двух массивов.

08.10.2011, 22:47. Показов 4506. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!!!!

Стоит задача из двух массивов сделать один.
Первый массив А {"1111111133333333"};
Второй массив В {"22224444"};
Нужно сделать массив С вида {"111111112222333333334444"};

Попытался написать, но что то намутил, на одном ПК вроде работает, на другом в том же компиляторе нет.

Подскажите, пожалуйста, где ошибка?

Вот код программы (не очень рациональный конечно!!!)

Code
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <conio.h>
#include <fstream>
#include <clocale>
#include <cstdlib>
 
using namespace std;
 
const int size_1=17, size_2=9, size_3=2, size_4=11;
 
int main ()
{
    setlocale (LC_ALL, "Russian"); 
    char A [17] = {"1111111133333333"};
    char B [9] = {"22224444"};
   
   
    cout << "Вывод А: " << endl;
    for (int i=0; i<size_1; i++) cout << A [i] << " "; 
    cout << endl;
    cout << " Вывод B: " << endl;
    for (int i=0; i<size_2; i++) cout << B [i] << " ";
    cout << endl << endl;
    
    char temp_1 [2][6] = {{0}}; 
    int temp_1_i=0;
    int temp_1_j=0;
 
    for (int i=0; i<size_1; i++) { 
       if (i%8==0 && i)
       {
       temp_1_i++;
       temp_1_j=0;
       }
    temp_1[temp_1_i][temp_1_j++]=A[i];
        }
    
    
    cout << "temp_1 (разбивка массива по 6 элементов):" << endl;
    for (int i=0; i<2; i++){
        for (int j=0; j<6; j++){
            cout << temp_1 [i][j] << " ";
            }
            cout << endl;
            }
    
    
    char temp_2 [2][4] = {{0}}; 
    int temp_2_i=0;
    int temp_2_j=0;
 
    for (int i=0; i<size_2; i++) { 
       if (i%4==0 && i)
       {
       temp_2_i++;
       temp_2_j=0;
       }
    temp_2[temp_2_i][temp_2_j++]=B[i];
        }
    
    cout << "temp_2 (hазбивка на тетрады массива В):" << endl;
    for (int i=0; i<2; i++){
        for (int j=0; j<4; j++){
            cout << temp_2 [i][j] << " ";
            }
            cout << endl;
            }
    
     // Массив temp_3
    char temp_3[size_3][size_4]={{0}};
    for (int z=0, i=0, g=6; z<2, i<2, g<10; z++, i++, g++){
    memcpy (temp_3 [z], temp_1[i], sizeof (temp_1[i]));
    memcpy (&temp_3 [z][g], temp_2[i], sizeof (temp_2[i]));
    }
    cout << endl;
    cout << "Temp_3:" << endl;
    for (int i=0; i<size_3; i++)
    {
        for (int j=0; j<size_4; j++)
        {
        cout << temp_3 [i][j] << " ";
        }
        cout << endl;    
    }
    cout << endl << endl;
    
    char C [25] = {0};
    int y = 0;
    cout << "C: " << endl;
    for (int i=0; i<2; i++)
    {
        for (int j=0; j<10; j++)
        {
        C [y] = temp_3 [i][j];
        y++;
        }
    }
    
    for (int i=0; i<25; i++) cout << C[i] << " ";
    
    getch ();
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.10.2011, 22:47
Ответы с готовыми решениями:

Объединение двух массивов
Даны два упорядоченных по возрастанию массива действительных чисел одинакового размера: и . Требуется за один просмотр объединить эти...

Объединение двух массивов
Добрый день помогите пожалуйста решыть задачу по програмированнию. Есть два массива целых чисел X(n) i Y(n), n&lt;=300. Создать програму...

Объединение двух массивов
Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный массив.

3
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
09.10.2011, 04:02
Corvette, не стал в код заглядывать а сразу попытался что-то изобразить.
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
#include <stdio.h>
#include <string.h>
void str_merge(char* dst, const char* s1, const char* s2);
 
int main() {
   char A[17] = { "1111111133333333" };
   char B[9]  = { "22224444" };
 
   char* arr = new char[strlen(A) + strlen(B) + 1];
   str_merge(arr, A, B);
   puts(arr);
   delete[] arr;
   arr = NULL;
   getchar();
   return 0;
}
 
void str_merge(char* dst, const char* s1, const char* s2) {
    char a, b;
    while(*s1 || *s2) {
         a = (*s1) ? *s1 - '0' : '0';
         b = (*s2) ? *s2 - '0' : '0';
         if(a < b && *s1) 
              *dst++ = *s1++;
         if(b < a && *s2) 
              *dst++ = *s2++;
   }
  *dst = '\0';
}
2
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2011, 10:22
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstring>
 
int main()
{
    char _a[] = "1111111133333333";
    char _b[] = "22224444";
    
    std::vector<char> a(_a, _a + strlen(_a) ); 
    std::vector<char> b(_b, _b + strlen(_b) );
    std::sort( a.begin(), a.end() );
    std::sort( b.begin(), b.end() );
    std::vector<char> result;
    
    std::set_union(
        a.begin(), a.end(),
        b.begin(), b.end(),
        std::back_inserter( result ) );
        
    std::copy( result.begin(), result.end(), std::ostream_iterator<char> (std::cout) );
}
Результат: http://liveworkspace.org/code/... b85b96a3ea
1
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
09.10.2011, 10:26  [ТС]
Спасибо Всем!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2011, 10:26
Помогаю со студенческими работами здесь

Объединение двух массивов
Выполнено два задания:нашли Элементы массива A, которые не включаются в B и Элементы массива B, которые не включаются в A. Как объединить...

Объединение двух массивов
Пожалуйста! Дано два впорядкованих за зростанням масиви A(m) та B(n). Отримати з них за допомогою злиття впорядкований за зростанням...

Объединение двух массивов
Ребята,срочно. Даны два масссива b и c как их объединить в один третий массив d например?

Объединение двух массивов
Есть два массива констант. a ,b. Необходимо из элементов этих массивов сделать третий массив ab берем 5 элементов массива (b) и по...

Объединение двух массивов
Всем привет! Есть два массива, в которых есть одинаковые элементы: a={1,2,5,64,23,65,34,6} и b={12,53,12,64,5,2,7,1,23}. Нужно объединить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru