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

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

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

добавление К элементов в начало массива - C++

17.04.2012, 19:17. Просмотров 2827. Ответов 5
Метки нет (Все метки)

Есть такой код
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
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#define MSIZE 1000
void main()
{
int mas[MSIZE],temp[MSIZE];  
int i,j; 
int n; 
cout<<"input size of array "; cin>>n;       
for(i=0;i<n;i++)
        mas[i]=rand()%200-100; 
for(i=0;i<n;i++)
        cout<<mas[i]<<" "; 
 
 
cout<<endl;
int k;  /
cout<<"input K pls";
cin>>k;
n=n+k; 
for(i=n;i>1;i--)
        {                     
         mas[i]=mas[i-k];
        }
for(i=0;i<k;i++)
        {
        cout<<"input "<<i<<"-st element";
        cin>>temp[i];    
        }
for(i=0;i<k;i++)
        mas[i]=temp[i]; 
cout<<endl<<"array after adding ";
for(i=0;i<n;i++)
        cout<<mas[i]<<" ";
getch();
}
Если К!=1, то все нормально, а если 1 то выполняется не правильно, сломал уже мозг не знаю где проблема. Заранее спасибо

Добавлено через 53 минуты
Ребят ап!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 19:17     добавление К элементов в начало массива
Посмотрите здесь:

Добавление элемента в начало динамического массива C++
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
C++ Си массивы (добавить К элементов в начало массива)
Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес C++
C++ Проверить добавление в начало массива 3 элементов
C++ Добавить К элементов в начало массива
C++ Добавление элемента в начало массива
C++ Добавить k элементов в начало массива
Перенести min массива в начало, max - в конец, взаимное расположение остальных элементов оставить прежним C++
Поиск нулевых элементов и перенос их в начало одномерного массива C++
C++ Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.04.2012, 20:43     добавление К элементов в начало массива #2
Чесно говоря немного не понял ваш код, тем более там дофига ошибок . Так что набросал свою версию
C++ (Qt)
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
#include <iostream>
 
using namespace std;
int main()
{
int razmer, razmerTMP;
 
cout<<"Vvedite col-vo elementov:";
 
cin>>razmer;
int mass[razmer];
 
for(int i=0;i<razmer;i++){
mass[i]=rand()%11;
cout<<"Element "<<i<<" = "<<mass[i]<<endl;
}
 
cout<<"Vvedite novoe col-vo elementov:";
cin>>razmerTMP;
 
int massTMP[razmerTMP+razmer];
 
for(int i=0;i<razmerTMP;i++){
cout<<"Vvedit element nomer"<<i<<" :";
cin>>massTMP[i];
}
 
for(int i=razmerTMP,j=0;i<razmerTMP+razmer;i++, j++){
massTMP[i]=mass[j];
}
 
for(int i=0;i<razmerTMP+razmer;i++){
cout<<"Element "<<i<<" = "<<massTMP[i]<<endl;
}
 
system("PAUSE");
return 0;
}
Alonix
1 / 1 / 0
Регистрация: 15.04.2012
Сообщений: 9
17.04.2012, 21:21  [ТС]     добавление К элементов в начало массива #3
Чет я не помню, что бы можно было размер массива объявлять переменой.
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
17.04.2012, 23:30     добавление К элементов в начало массива #4
Alonix, Мой компилятор позволяет, но можно организовать через new
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
18.04.2012, 06:47     добавление К элементов в начало массива #5
C++
1
int* mass = new int[razmer];
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.04.2012, 06:59     добавление К элементов в начало массива #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <deque>
 
int main()
{
    std::cout << "Enter size of array\n";
    int n;
    std::cin >> n;
    std::deque< int > arr(n);
    for (int i = 0; i < n; ++i)
        std::cin >> arr[i];
        
    std::cout << "Enter K\n";
    int k;
    std::cin >> k;
    for (int i = 0, x; i < n; ++i)
        std::cin >> x, arr.push_front(x);
        
    std::cout << "Array: ";
    for (int i = 0; i < n; ++i)
        std::cout << arr[i] << ' ';
}
Yandex
Объявления
18.04.2012, 06:59     добавление К элементов в начало массива
Ответ Создать тему
Опции темы

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