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

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

Войти
Регистрация
Восстановить пароль
 
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
#1

Перенос двузначных элементов массива в новый - C++

28.03.2010, 13:02. Просмотров 653. Ответов 11
Метки нет (Все метки)

всем привет!у меня есть прога которая автоматом заполняет массив и сортирует его по возрастанию,как сделать чтоб из этого массива все 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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
        const int max_elem=20;
        int mas[max_elem];
        for(int i=0;i<max_elem;i++)
        {
                mas[i]=rand()%200;
        }
 
        int n;
        for(int cur=0;cur<max_elem;cur++)
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
 
                        }
 
       
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2010, 13:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перенос двузначных элементов массива в новый (C++):

Найти среднее арифметическое двузначных элементов целочисленного массива из 30 элементов - C++
Найти среднее арифметическое двузначных элементов целочисленного массива из 30 элементов.

Создать функцию, которая возвращает количество двузначных элементов массива - C++
2. Создайте функцию, которая принимает в качестве аргументов целочисленный массив и размер этого массива, а возвращает количество...

Вычислить количество двузначных элементов массива, которые при делении на 6 дают в остатке 1 - C++
Привет!Помогите,пожалуйста с решением задачи,ничего не выходит написать толкового. Сама задача: Дано матрицу с элементами целого типа....

Запись элементов массива структурного типа.Из старого массива- в новый - C++
Здравствуйте.Возможно, в названии темы не совсем понятно &quot;чего я хочу&quot;, поэтому напишу задание: &quot;1.Сформировать динамический массив...

Из нечётных чисел заданного массива создать новый массив и посчитать количество элементов нового массива - C++
Дано целочисленный одномерный массив А , состоящий из 12 элементов . Создать массив С , состоящий из нечетных чисел массива А , посчитать...

Перенос элементов из статического массива в динамический - C++
Народ помогите плз. есть задача, которую я почти сам решил, но проблема в том что не до конца. вот сама задача: Создать статический...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Maksss
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 6
28.03.2010, 13:16 #2
Задай условие, где I>9, и просто записывай в новый массив
0
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
28.03.2010, 13:26  [ТС] #3
можно поподробней
0
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
28.03.2010, 13:26 #4
Вот попробуй в n_mas будут все дввухзначные числа

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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
        const int max_elem=20;
        int mas[max_elem],n_mas[max_elem];
        for(int i=0,j=0;i<max_elem;i++,j++)
        {
                mas[i]=rand()%200;
 
                if (mas[i]>9 && mas[i]<100)
                n_mas[j]=mas[i]; //занесение в новый массив
        }
 
        int n;
        for(int cur=0;cur<max_elem;cur++)
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
 
                        }
 
       
}
1
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
28.03.2010, 14:48  [ТС] #5
спасибо вроде работает,вот только как вывести ,я должен написать-cout<<n_mas;?
или другую переменную?я вписываю это перед закрытием ифа,но выводит хрень какуюто
0
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
28.03.2010, 15:06 #6
все эл ты массива ты должен выводить по индексам...
Я не знаю проходили вы функции или нет, так что вот если хочешь вывести сделай так

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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
void out (int n, int mas[20]);
void main()
{
        const int max_elem=20;
        int mas[max_elem],n_mas[max_elem];
        for(int i=0,j=0;i<max_elem;i++,j++)
        {
                mas[i]=rand()%200;
 
                if (mas[i]>9 && mas[i]<100)
                n_mas[j]=mas[i]; //занесение в новый массив
        }
 
        int n;
        for(int cur=0;cur<max_elem;cur++)
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
 
                        }
 
out(n,n_mas);// вызов функции вывода
 
       
}
 
 
 
void out (int n, int mas[20])
{
int i;
  for (i=0;i<n;i++)
  {
   printf ("%5d",mas[i]);
  }
}
0
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
28.03.2010, 16:02  [ТС] #7
выдает ошибку:
mas:выглядит как определение функции,но без списка параметров.пропускается вероятное тело функции
И printf не подсвечивается синим
0
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
28.03.2010, 16:50 #8
Попробуй так

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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int max_elem=20;
 
void out (int n, int mas[max_elem]);
void main()
{
        
        int mas[max_elem],n_mas[max_elem];
        for(int i=0,j=0;i<max_elem;i++,j++)
        {
                mas[i]=rand()%200;
 
                if (mas[i]>9 && mas[i]<100)
                n_mas[j]=mas[i]; //занесение в новый массив
        }
 
        int n;
        for(int cur=0;cur<max_elem;cur++)
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
 
                        }
 
out(n,n_mas);// вызов функции вывода
 
       
}
 
 
 
void out (int n, int mas[max_elem])
{
int i;
  for (i=0;i<n;i++)
  {
   cout <<mas[i] ;
  }
}
0
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
28.03.2010, 17:05  [ТС] #9
компилируется успешно но при запуске выдает ошибку

можно просто из отсортированого мною массива(немного продолжить мой вариант) выбрать в новый 2значные элементы не усложняя функциями,или еще чемнибудь?и каутом вывести
позарез на завтра нужно
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
28.03.2010, 17:44 #10
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
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
int main()
{
        const int max_elem=20;
        int mas[max_elem];
                srand(time(NULL));
        for(int i=0; i<max_elem; i++)  // заполнение массива.
        {
                mas[i]=rand()% 200;
        }
 
 
         
        for(int cur=0;cur<max_elem;cur++)  // сортировка массива.
                        
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
                        }
 
                int mas_ch[max_elem]; // создаем второй массив, для четных чисел.
 
                for (int j=0; j<max_elem; j++)
                {
                        if ((mas[j]>9) && (mas[j]<100))  // проверка.
                        {
                                mas_ch[j]=mas[j];          // если двухзначное, то присваиваем значение второму массиву,
                                cout << mas_ch[j] << endl;         // и выводим.
                        }
                }
return 0;
        
}
Может-быть код не очень красивый, но я сам только учусь. Главное работает
1
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
28.03.2010, 17:56  [ТС] #11
спасибо большое,работает,но с начала вылетала ошибка-неудаеться открыть файл stdafx.h,я удалил строку #include <stdafx.h>и заработало!так правильно?
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
28.03.2010, 20:24 #12
Да, правильно, я добавляю эту строку, т.к. без нее у меня ругается компилятор.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2010, 20:24
Привет! Вот еще темы с ответами:

Перенос определенных элементов массива в другой массив - C++
Дан массив N, он заполнен числами от 1 до N-1 (N вводится с клавиатуры). Нужно удалять числа, начиная с числа Х, и через У чисел, остаток...

Сформировать новый массив из элементов массива - C++
сформировать новый массив из элементов массива М(25), встречающихся в этом массиве только один раз. на Си. заранее спасибо!

Перенос элементов из одного массива в другой (ассемблерная вставка) - C++
Перенос элементов из одного массива в другой, так чтобы в правой части были элементы меньше 0, а слева больше 0 ... const int n =...

Поиск нулевых элементов и перенос их в начало одномерного массива - C++
Есть код, создающий массив, происходит поиск минимального элемента, первого и последнего положительных элементов и выводящий сумму между...


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

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

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