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

Склеивание двух массивов - C++

Восстановить пароль Регистрация
 
jorjio
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 34
18.11.2014, 20:21     Склеивание двух массивов #1
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
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
#include <stdafx.h>
#include <iostream>
#include <stdio.h>
#include <ctime>
#include <windows.h> 
#include <iomanip>
#include <cstdlib>
//setlocale(0, "rus");
using namespace std;
 
int **form_matr(int n)
{
    int **matr=new int*[n];//выделение памяти по массив указателей
    return matr;
}
 
float vvmasod(int *c,int k)
{   int i;
    for (i=0;i<k;i++ )
      {
         c[i]=rand()%50 ;          
      }
    return  0;
}
      
float vivmasod(int *c,int k)
{   int i;
    for (i=0;i<k;i++ )
      {
         cout<<c[i]<<setw(3);          
      }
      cout<<"\n";
      return  0;
}
 
float dobovelem(int *c, int s, int k, int n)
 
{   int i, d=0, matr2[999];
    for (i=0;i<n;i++);
    {   matr2[i]=c[i];
        d++;
    }
    for (i=n;i<n+k;i++)
    {   matr2[i] = rand()%50;
        d++;
    }
    for (i=n;i<s;i++)
    {   matr2[d] = c[i];
        d++;
    }
    for (i=0; i<s+k; i++)
        c[i]=matr2[i];
return  0;
}   
    
int main(int argc, char *argv[])
{   int *matr;
    int SIZE, k, kol, nom;
      setlocale(0, "rus");
    srand((unsigned)time(NULL));
 
    do
    {
        cout<<"---------------------------\n"; 
    cout<<"1. Формирование одномерного массива\n";
    cout<<"2. Печать одномерного массива\n";
    cout<<"3. Добавление К элементов, начиная с номера N\n";
    cout<<"4. Выход\n";
    cin>>k;
    switch (k)
        {
        case 1: cout<<"Введите размер массива\n"; cin>>SIZE; 
            //matr=form_matr(SIZE);
            matr=new int[SIZE];
            vvmasod(matr, SIZE); 
            //form_matr(SIZE);  
        break; 
        case 2: vivmasod(matr, SIZE); break;//print_mas(mas,SIZE); break;//печать
 
    
        case 3: 
                cout<<"Введите количесто элементов и начало номара встави\n";
                cout<<"K = "; cin>>kol;
                cout<<"N = "; cin>>nom; nom = nom - 1;
                dobovelem(matr, SIZE, kol, nom);
                SIZE = SIZE + kol;  
        break;
        }
    }while (k!=4);//выход
    
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
я не понимаю зачем тут перебор указывает до n чисел и какое оно вообще? for (i=0;i<n;i++);
помогите дописать код пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 20:21     Склеивание двух массивов
Посмотрите здесь:

Сортировка двух массивов C++
C++ Склеивание двух vector'ов
C++ Склеивание трех и более массивов
Слияние двух массивов C++
C++ Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
C++ Объединение двух массивов
C++ Объединение двух массивов
C++ Склеивание двух двумерных массивов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jorjio
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 34
18.11.2014, 20:27  [ТС]     Склеивание двух массивов #2
картинка с ошибкой
Миниатюры
Склеивание двух массивов  
jorjio
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 34
18.11.2014, 21:26  [ТС]     Склеивание двух массивов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
float dobovelem(int *c, int s, int k, int n)
 
{   int i, d=0, matr2[999];
    for (i=0;i<n;i++);
    {   matr2[i]=c[i];
        d++;
    }
    for (i=n;i<n+k;i++)
    {   matr2[i] = rand()%50;
        d++;
    }
    for (i=n;i<s;i++)
    {   matr2[d] = c[i];
        d++;
    }
    for (i=0; i<s+k; i++)
        c[i]=matr2[i];
return  0;
}
думаю что где то здесь ошибка... если взять добавление элементов не 2 а 5 то чисел с отрицательным значением ещё больше!
Yandex
Объявления
18.11.2014, 21:26     Склеивание двух массивов
Ответ Создать тему
Опции темы

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