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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
guTana
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
#1

Добавить в одномерный массив N элементов, начиная с номера К - C++

29.07.2013, 15:33. Просмотров 1396. Ответов 3
Метки нет (Все метки)

1. Сформировать массив из n элементов с помощью датчика случайных чисел (n зада-ется пользователем с клавиатуры).
2. Распечатать полученный массив.
3. Добавить в одномерный массив N элементов, начиная с номера К

Мне нужно именно в такой интерпритации кода. Работаю в Visual Studio 2010

вот мой код
простите,если там бред,учу си недавно,но задачу очень нужно решить


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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#define NN 100
void main (void)
{
int i,n,xmin,xmax,x1[NN],x2[NN],x3[NN],x4[NN],x5[NN];
setlocale(LC_ALL, "Russian");
//Формирование исходного массива
printf("\n----------Формирование исходного массива----------------\n");
printf("Введите количество элементов массива: ");
scanf("%d",&n); 
printf("\nВведите минимальную границу элементов массива: ");
scanf("%d",&xmin); 
printf("\nВведите максимальную границу элементов массива: ");
scanf("%d",&xmax); 
//int x1[n]; 
srand((unsigned int)time(NULL)); //инициализация генератора случайных чисел
printf("\nИсходный массив:\n");
for(i=0;i<n;i++) 
{x1[i]=rand()%(xmax-xmin+1)+xmin; 
printf("%d ",x1[i]);} 
 
printf("\n\nPress any key...");
_getch();
 
//Добавить N элементов, начиная с номера К
printf("\n----Добавить N элементов, начиная с номера К-----\n");
int n_dob,k,j=0; //число элементов для удаления из исходного массива
printf("\nВведите количество элементов исходного массива для добавления: ");
scanf("%d",&n_dob); 
printf("\nВведите номер элемента исходного массива с которого нужно добавить элементы: ");
scanf("%d",&k); 
int n2;
n2=n+n_dob;
 
for(i=0;i<n;i++)
if (i<k)
{x3[j]=x1[i];
printf("%d ",x3[j]); 
j++;}
else
if (i>k) 
 
{x4[j]=rand()%(xmax-xmin+1)+xmin; 
x3[j]=x4[n_dob+j];
printf("%d ",x4[j]); 
j++;}
 
else
{x3[j]=x1[i];
printf("%d ",x3[j]); 
j++;}
printf("\n\nPress any key...");
_getch();
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 15:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить в одномерный массив N элементов, начиная с номера К (C++):

Сформировать одномерный массив. Удалить из него К элементов, начиная с заданного номера, добавить элемент с заданным ключом - C++
Сформировать одномерный массив. Удалить из него К элементов, начиная с заданного номера, добавить элемент с заданным ключом.

Добавить К элементов в массив, начиная с номера N - C++
Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. Добавить К элементов, начиная с номера...

Указатели . Удалить из одномерного массива элемент с заданным номером, добавить К элементов, начиная с заданного номера - C++
Сформировать одномерный массив. Удалить из него элемент с заданным номером, добавить К элементов, начиная с заданного номера

Pаписать в одномерный массив B все номера отрицательных элементов, а в массив C номера не отрицательных - C++
Дан одномерный массив A, составленный из 8 элементов с клавиатуры, записать в массив B все номера отрицательных элементов, а в массив C...

Одномерный массив.Найти номера элементов меньше -10 - C++
С клавиатуры вводится одномерный массив длинной 10 символов. Найти номера только отрицательных элементов меньше -10. сделать с помощью...

Одномерный массив: Вывести на экран номера всех элементов больше заданного числа - C++
помогите пожалуйста разобраться с задачкой,знаю что примитивная и простая,но никак не могу сообразить как вывести номера элементов(( ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
29.07.2013, 15:37 #2
guTana, а не подскажете, что в данном коде от плюсов? Это чистый си.
И какие вопросы? Что именно не работает? Может быть какие-нибудь ошибки приведете.
0
guTana
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 14
29.07.2013, 15:44  [ТС] #3
у меня не генерирует массив из того количества чисел, которые пользователь должен ввести с клавиатуры
и затем не дописывает остаток элементов массива
не могу понять как это записать

работает программа только 44 строки правильно,как реализовать потом я не знаю
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
29.07.2013, 18:37 #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
int main(int argc, char* argv[])
{
    srand(time(0));
    int * Arr;
    int n, N, K;
    std::cout << "Enter n \n";
    std::cin >> n;
    Arr = new int[n];
    for(int i = 0; i< n; i++)
    {
        Arr[i] = rand()% 20; // 20 - заполнение рандомными числами от 0 до 19
    }
    for(int i = 0; i< n; i++)
    {
        std::cout << Arr[i] << " ";
    }
    std::cout << std::endl;
    std::cout << "Enter N and K ";
    std::cin >> N >> K;
    if( (N+K) > n)
    {
        int * tmp = new int[N+K];
        for(int i = 0; i < N; i++)
            tmp[i] = Arr[i];
        for(int i = N; i < (N+K);i++)
        {
            std::cout << "Enter " << i-N << "-th element ";
            std::cin >> tmp[i];
        }
        delete[]Arr;
        Arr = tmp;
    }
    else
    {
        for(int i = N; i < N+K; i++)
        {
            std::cout << "Enter " << i-N << "-th element ";
            std::cin >> Arr[i];
        }
    }
    for(int i = 0; i< n; i++)
    {
        std::cout << Arr[i] << " ";
    }
    delete[]Arr;
    system("pause");
    return 0;
}
попробуйте так )
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 18:37
Привет! Вот еще темы с ответами:

Удалить из списка элемент с заданным номером и добавить элементфы, начиная с заданного номера. - C++
Помогите написать программу, в которой создаются динамические структуры, я не знаю как :-|:( Записи в линейном списке содержат ключевое...

Одномерный массив, добавить условие проверки на четность элементов массива - C++
Здравствуйте,нужно дописать в данный код условие проверки на четность элементов массива Суть программы в следующем- между собой...

Сформировать одномерный массив В, элементами которого являются номера первых отрицательных элементов каждой строки матрицы - C++
Помогите пожалуйста задали написать, а я толком не могу понять как это делать. 6Дана матрица А размерностью nхm. Сформировать одномерный...

Удаление N элементов, начиная с номера K - C++
srand((unsigned)time(NULL)); cout&lt;&lt;&quot;n?&quot;;cin&gt;&gt;n; for (i=0;i&lt;n;i++) {a=rand()%100-50;cout&lt;&lt;a&lt;&lt;&quot; &quot;;}; cout&lt;&lt;&quot;\n1 zadacha\nVVedi K ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.07.2013, 18:37
Ответ Создать тему
Опции темы

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