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

Программки на массивы C++ часть 2 преобразование массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 12:35     Программки на массивы C++ часть 2 преобразование массива #1
1. Дан массив размера N (N — четное число). Поменять местами первую
и вторую половины массива.
2. Дан целочисленный массив размера N. Удалить из массива все эле-
менты, встречающиеся менее трех раз, и вывести размер полученного мас-
сива и его содержимое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2011, 12:35     Программки на массивы C++ часть 2 преобразование массива
Посмотрите здесь:

Программки C++ Анализ элементов массива C++
Преобразование массива C++
C++ как вывести часть массива?
Преобразование целого числа в дробную часть C++
C++ Классы строк, массивы преобразование и т.д
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 13:17     Программки на массивы C++ часть 2 преобразование массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
void main ()
{float *arr;
int N,buf;
std::cout<<"Input N"<<std::endl; std::cin>>N;//вводим размер массива
arr=new float [N];//память под массив
std::cout<<"Input array"<<std::endl;
for (int i=0; i<N; i++) {std::cout<<"X ["<<i<<"] = "; std::cin>>arr[i];}//вводим массив
std::cout<<"Source array"<<std::endl;
for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
std::cout<<std::endl;
for (int i=0,j=N/2; j<N; i++,j++) {buf=arr[j];arr[j]=arr[i];arr[i]=buf;} //меняем местами половины
std::cout<<"Transformed array"<<std::endl;
for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
std::cout<<std::endl;
system ("pause");
}
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 13:30  [ТС]     Программки на массивы C++ часть 2 преобразование массива #3
Спасибо большое
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 13:37     Программки на массивы C++ часть 2 преобразование массива #4
жми на плюсик)) щас вторую напишу))
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 13:40  [ТС]     Программки на массивы C++ часть 2 преобразование массива #5
СПА-СИ-БО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 14:27     Программки на массивы C++ часть 2 преобразование массива #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
#include <iostream>
#define num 3//константа
 
void main ()
{int *arr,N,amount=0,q=0;
bool  *control_arr;
std::cout<<"Input N"<<std::endl; std::cin>>N;//вводим размер массива
arr=new int [N];//память под массив
control_arr=new bool [N];//память под контрольный массив
std::cout<<"Input array"<<std::endl;
for (int i=0; i<N; i++) {std::cout<<"X ["<<i<<"] = "; std::cin>>arr[i];}//вводим массив
std::cout<<"Source array"<<std::endl;
for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
std::cout<<std::endl;
for (int i=0; i<N; i++)control_arr[i]=true;
//заполняем массив control_arr
for (int i=0; i<N; i++)
{
 for (int j=0; j<N; j++) if (arr[i]==arr[j]) amount++;
 if (amount<num) control_arr[i]=false;
amount=0;
}
//перемещаем элементы встречающиеся более трех раз в начало массива
for (int i=0; i<N; i++)if (control_arr[i]==true)arr[q++]=arr[i];
    N=q;//новый размер массива
std::cout<<"New array size "<<N<<std::endl;//выводим новый размер массива
if (N) std::cout<<"Transformed array"<<std::endl;
else std::cout<<"Array is empty"<<std::endl;//в случае если удалились все элементы
for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
std::cout<<std::endl;
system ("pause");
}
Добавлено через 2 минуты
думал написать через векторы , но потом подумал что обычно при обучении эти библиотеки не разрешают использовать)
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 14:51  [ТС]     Программки на массивы C++ часть 2 преобразование массива #7
если будет время есть и 1 часть задач с массивами, если сможешь реши пожалуйста
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
04.05.2011, 15:32     Программки на массивы C++ часть 2 преобразование массива #8
olleg90, вы отступами из принципа не пользуетесь?)
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 15:49     Программки на массивы C++ часть 2 преобразование массива #9
Цитата Сообщение от neske Посмотреть сообщение
olleg90, вы отступами из принципа не пользуетесь?)
да нет )) оно само как то из vc++ сюда переноситься так)

Цитата Сообщение от student61 Посмотреть сообщение
если будет время есть и 1 часть задач с массивами, если сможешь реши пожалуйста
скидывай в эту тему! решу если будет свободная минутка)
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 15:57  [ТС]     Программки на массивы C++ часть 2 преобразование массива #10
1. Дан массив размера N. Найти количество участков, на которых его
элементы монотонно убывают.
2. Дан целочисленный массив размера N. Если он является перестанов-
кой, то есть содержит все числа от 1 до N, то вывести 0; в противном слу-
чае вывести номер первого недопустимого элемента.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2011, 16:56     Программки на массивы C++ часть 2 преобразование массива
Еще ссылки по теме:

Внутреннее устройство многомерного массива и неявное преобразование массива в указатель C++
C++ Вывести часть отсортированного массива
C++ Преобразование массива, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [a,b]

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

Или воспользуйтесь поиском по форуму:
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 16:56     Программки на массивы C++ часть 2 преобразование массива #11
Цитата Сообщение от student61 Посмотреть сообщение
1. Дан массив размера N. Найти количество участков, на которых его
элементы монотонно убывают.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
void main ()
{   float *arr;
    int N,buf,num=0,fl=0;
    std::cout<<"Input N"<<std::endl; std::cin>>N;//вводим размер массива
    arr=new float [N];//память под массив
    std::cout<<"Input array"<<std::endl;
    for (int i=0; i<N; i++) {std::cout<<"X ["<<i<<"] = "; std::cin>>arr[i];}//вводим массив
    std::cout<<"Source array"<<std::endl;
    for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
    std::cout<<std::endl;
    for (int i=0; i<N-1; i++) 
        {
        if (arr[i]>arr[i+1]) fl=1;
        else if (fl) { num++; fl=0 ;}
        }
    if (fl) num++;
    std::cout<<std::endl<<"Result "<<num<<std::endl;
    system ("pause");
}
Цитата Сообщение от student61 Посмотреть сообщение
2. Дан целочисленный массив размера N. Если он является перестанов-
кой, то есть содержит все числа от 1 до N, то вывести 0; в противном слу-
чае вывести номер первого недопустимого элемента.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
void main ()
{   float *arr;
    int N,buf,num=0,fl=0,i;
    std::cout<<"Input N"<<std::endl; std::cin>>N;//вводим размер массива
    arr=new float [N];//память под массив
    std::cout<<"Input array"<<std::endl;
    for (int i=0; i<N; i++) {std::cout<<"X ["<<i<<"] = "; std::cin>>arr[i];}//вводим массив
    std::cout<<"Source array"<<std::endl;
    for (int i=0; i<N; i++) std::cout<<"\t"<<arr[i];//выводим массив
    std::cout<<std::endl<<"Result ";
    for (i=0; i<N; i++)
        if  (arr[i]!=i+1) break;
    if(i==N) std::cout<<0<<std::endl;
    else std::cout<<i+1<<std::endl;
    system ("pause");
}
Yandex
Объявления
04.05.2011, 16:56     Программки на массивы C++ часть 2 преобразование массива
Ответ Создать тему
Опции темы

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