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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
#1

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

04.05.2011, 12:35. Просмотров 1852. Ответов 10
Метки нет (Все метки)

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

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

Программки C++ Анализ элементов массива - C++
1. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают. 2. Дан целочисленный массив размера...

Преобразование целого числа в дробную часть - C++
Здравствуйте. Вот есть 2 целых числа a=25 b=3453. Нужно получить с=25,3453. Есть ли функция или что посоветуете?

Классы строк, массивы преобразование и т.д - C++
У меня в учебнике есть такой пример: #include <iostream> #include <string.h> using namespace std; // Rudimentary string...

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

Перепишите, пжл, 3 программки в 3 программки в CSS - HTML, CSS
1файл <html> <head> <title>Laba_2</title> </head> <body bgcolor=grey WIDTH="50%" height=50%> <table CELLpadding="10"...

10
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 13:17 #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");
}
1
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 13:30  [ТС] #3
Спасибо большое
0
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 13:37 #4
жми на плюсик)) щас вторую напишу))
1
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 13:40  [ТС] #5
СПА-СИ-БО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
0
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 14:27 #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 минуты
думал написать через векторы , но потом подумал что обычно при обучении эти библиотеки не разрешают использовать)
1
student61
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 30
04.05.2011, 14:51  [ТС] #7
если будет время есть и 1 часть задач с массивами, если сможешь реши пожалуйста
0
neske
1498 / 865 / 84
Регистрация: 26.03.2010
Сообщений: 2,966
04.05.2011, 15:32 #8
olleg90, вы отступами из принципа не пользуетесь?)
0
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
04.05.2011, 15:49 #9
Цитата Сообщение от neske Посмотреть сообщение
olleg90, вы отступами из принципа не пользуетесь?)
да нет )) оно само как то из vc++ сюда переноситься так)

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

Отсортировать часть массива до максимального элемента по возрастанию, а оставшуюся часть по убыванию - Turbo Pascal
Дан одномерный массив, элементы которого различны. Отсортировать часть массива до начальной позиции максимального элемента по возрастанию,...

Преобразование таблицы - часть столбцов в строки - MS Excel
Добрый день, всем! Уже второй день ищу способ &quot;правильно&quot; переобразовать таблицу для дальнейшего экспорта в базу данных. В...

Массивы(часть 2) - Pascal
Методика выполнения работы. Дана матрица, состоящая из n строк и n столбцов или одномерные массивы из n элементов каждый. Согласно...

Lab 6. Одномерные массивы (часть 2) (паскаль) - Pascal
Написать программу, которая вводит с клавиатуры одномерный массив из 6 целых чисел, после чего определяет, сколько раз минимальный элемент...


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

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

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