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

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

Войти
Регистрация
Восстановить пароль
 
mad17
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
#1

Дан одномерный массив. Вставить max и min после элементов с номерами m1 и m2 - C++

18.03.2014, 11:49. Просмотров 525. Ответов 8
Метки нет (Все метки)

Дан одномерный элемент.Вставить max и min после элементов с номером m1 и m2?
Я составил так,нашел максимум и минимум,но я не знаю как менять местами
вроде будет for(i=9;i>=0;i--);
A[i+1]=A[i];
и дальше границы я хз как это записать,для max и min;
заранее спс.
Суть к примеру числа 0 1 7 8 4 5 6
и типо 8 максимальное,значит 4 вместо 5 ,5 вместо 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
#include<stdio.h>;
#include<conio.h>;
main()
{
      int A[12],i,Max,iMax,Min,iMin,m1,m2;
      
printf("Vvedite 10 elementov massiva :\n");
      for(i=0;i<10;i++){
                       printf("A[%d]=",i);
                       scanf("%d",&A[i]);
                       
                       }
                       printf("Vvedite m1:\n");
                       scanf("%d",&m1);
                       printf("Vvedite m2:\n");
                       scanf("%d",&m2);
                       
                       Max=A[0];
                       iMax=0;
                       for(i=1;i<10;i++)
                       if(A[i]>Max){
                       Max=A[i];
                       iMax=i;}
                       printf("Maxznachenie A[%d]=%d", iMax,Max);
                       
                       Min=A[0];
                       iMin=0;
                       for(i=1;i<10;i++)
                       if(A[i]<Min){
                       Min=A[i];
                       iMin=i;}
                       printf("Minznachenie A[%d]=%d", iMin,Min );
                       
                       
                       
                       
                       getch();}
Добавлено через 14 часов 46 минут
апну тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан одномерный массив. Вставить max и min после элементов с номерами m1 и m2 (C++):

Дан одномерный массив A[N]. Найти max(a2,a4,...a2*k)+min(a1,a3,...,a2*k+1 - C++
Дан одномерный массив A. Найти max(a2,a4,...a2*k)+min(a1,a3,...,a2*k+1=-O)

Дан одномерный массив. Если произведение элементов с чётными номерами больше произведения с нечетными номерами, то найти номер максимального элемента - C++
Дан одномерный массив. Если произведение элементов с чётными номерами больше произведения с нечетными номерами, то найти номер...

Дан одномерный массив А расмерностью N. Найти max(a2,a4...a2k) и min(a1,a3...a2k-1) - C++
Не могу написать прогу. Первые полгода(даже чуть меньше) учу программирование и встала проблема с написанием одной проги. Никак не...

Дан массив действительных чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами - C++
Дан массив действительных чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами.

Дан массив действительных чисел X[N]. Вычислить Y=max (X[i])-min(X[i]). - C++
Здравствуйте форумчане. Уж так случилось что я совсем не дум-дум в строках и массивах. ПРОСЬБА просмотрите задачи и подскажите как их...

Сформировать одномерный массив из 35 четырехзначных нечетных чисел, найти min/max элементы и их индексы - C++
Не знаю как сделать. Нужно сформировать одномерный массив с 35 четырехзначных нечетных цифр. В массиве не должно быть одинаковых...

8
John Prick
823 / 756 / 152
Регистрация: 27.07.2012
Сообщений: 2,150
Завершенные тесты: 3
18.03.2014, 11:59 #2
Цитата Сообщение от mad17 Посмотреть сообщение
Вставить max и min после элементов с номером m1 и m2?
Наверное, следует понимать так: вставить max элемент после элемента с номером m1 (который задаётся пользователем), а min элемент - после элемента с номером m2.

Значит, надо будет добавить 2 элемента в общей сложности. Поэтому заранее выделите массив на 2 элемента больше, чем зададите в нём значений. А далее как вы указали:
C++
1
2
3
4
for (i = N - 1; i > m1; --i) A[i] = A[i - 1];
A[m1] = max;
for (i = N - 1; i > m2; --i) A[i] = A[i - 1];
A[m2] = min;
1
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
18.03.2014, 12:00 #3
через промежуточную переменную (если просто поменять местами):
C++
1
2
3
4
int tmp;
tmp=A[iMin];
A[iMin]=A[iMax];
A[iMax]=tmp;
Но у Вас какой-то пример не понятный, похоже это не то что Вам надо.... Попробуйте написать здесь исходные данные и что должно получиться

Добавлено через 1 минуту
Цитата Сообщение от John Prick Посмотреть сообщение
Значит, надо будет добавить 2
Да скорее не вставить, а поменять местами....
1
John Prick
823 / 756 / 152
Регистрация: 27.07.2012
Сообщений: 2,150
Завершенные тесты: 3
18.03.2014, 12:04 #4
Цитата Сообщение от mustimur Посмотреть сообщение
Да скорее не вставить, а поменять местами...
В задании написано "вставить".
1
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
18.03.2014, 12:11 #5
Может быть, но а вот это:
Цитата Сообщение от mad17 Посмотреть сообщение
и типо 8 максимальное,значит 4 вместо 5 ,5 вместо 6 и так заменяй
как понять? (хотя похоже на вставку, согласен.....)
1
mad17
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
18.03.2014, 15:21  [ТС] #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
46
47
#include<stdio.h>;
#include<conio.h>;
main()
{
      int A[12],i,Max,iMax,Min,iMin,m1,m2,N;
      
printf("Vvedite 10 elementov massiva :\n");
      for(i=0;i<10;i++){
                       printf("A[%d]=",i);
                       scanf("%d",&A[i]);
                       
                       }
                       printf("Vvedite m1:\n");
                       scanf("%d",&m1);
                       printf("Vvedite m2:\n");
                       scanf("%d",&m2);
                       
                       Max=A[0];
                       iMax=0;
                       for(i=1;i<10;i++)
                       if(A[i]>Max){
                       Max=A[i];
                       iMax=i;}
                       printf("Maxznachenie A[%d]=%d", iMax,Max);
                       
                       Min=A[0];
                       iMin=0;
                       for(i=1;i<10;i++)
                       if(A[i]<Min){
                       Min=A[i];
                       iMin=i;}
                       printf("Minznachenie A[%d]=%d", iMin,Min );
                       
                       for (i = N - 1; i > m1; --i) A[i] = A[i - 1];
A[m1] = iMax;
for (i = N - 1; i > m2; --i) A[i] = A[i - 1];
A[m2] = iMin;
for (i = N - 1; i > m1; --i) A[i] = A[i - 1];
A[m1] = iMax;
for (i = N - 1; i > m2; --i) A[i] = A[i - 1];
A[m2] = iMin;
 
                       
                       
                       
                       
                       getch();}
N В int добавил,прога запускается мои max и min находит,но нечего дальше не происходит.
0
John Prick
823 / 756 / 152
Регистрация: 27.07.2012
Сообщений: 2,150
Завершенные тесты: 3
18.03.2014, 15:50 #7
1. N вставили. А инициализировать его?
2. Зачем вы два раза вставили код со вставкой элемента?
3. Что, по-вашему, должно было произойти? Попробуйте вывести массив на экран, может, всё-таки что-то произошло?
1
mad17
9 / 9 / 0
Регистрация: 27.12.2012
Сообщений: 165
18.03.2014, 15:56  [ТС] #8
ввожу числа,от 1-10,m1,m2, потом показывает макс и мин элемент массива,все,не понял с границами ,я еще подумаю, спс
0
John Prick
823 / 756 / 152
Регистрация: 27.07.2012
Сообщений: 2,150
Завершенные тесты: 3
18.03.2014, 16:05 #9
N присвойте 12 и используйте везде в коде вместо 12: N, вместо 10: N-2.
1
18.03.2014, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 16:05
Привет! Вот еще темы с ответами:

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

Дан массив из Н элементов. Найти сумму элементов с четными номерами и отдельно с нечетными - C++
решите задачу Дан массив из Н элем найти сумму элем с четными номерами и отдельно с нечетными

Одномерный массив. Удаление элементов с четными номерами - C++
Дан целочисленный массив размера N (&gt; 2). Удалить из массива все элементы с четными номерами (2, 4, …). Условный оператор не использо- ...

Дан одномерный массив целых чисел, заполненный случайным образом числами из промежутка [-a;b]. Вставить элемен - C++
Помогите пожалуйста :) Я только учусь С++. Так что не ругайтесь, вот что смог сделать я! :-#include &lt;stdio.h&gt; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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