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

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

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

Массив: произвести сдвиг элементов на к позиций, где к-индекс максимального элемента массива - C++

23.03.2013, 12:25. Просмотров 475. Ответов 2
Метки нет (Все метки)

помогите пожалуйста разобраться с указателями, т.к. тема для меня новая и, как оказалось, сложная((
В задаче дан массив A[n]. Нужно заполнить его генератором случайных чисел и затем произвести сдвиг элементов на к позиций, где к-индекс максимального элемента массива. Вот с поиском максимального элемента у меня и не получается((
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include <time.h>
#include <stdlib.h>
int main()
{int i,n,M1,M2,M3,t,ind,*max,dop,j,*pa;
int a[n];
 
M1:;{
printf("\nvvedite razmernost massiva\nn=");
scanf("%d",&n);
srand(time(NULL));
    for (int i=0; i<n;i++ )
    a[i] = -50 + rand() %100;
 
    pa=&a[0]; 
    printf("\nsgenerirovannii massiv\n");   
    for (int i=0; i<n;i++ )
     printf("%4d",*pa++);
    }
    
    
    pa=&a[0];
    *max=*pa;
    for(i=0;i<n;i++)
    {if (*pa>*max)
    *max=*pa;
    ++pa;}
    
    printf("\n\nmax %d",*max);
    printf("\nind %d",&max);
    
 /*   for(i=0;i<ind;i++)
    {
    dop=a[n-1];
    
     for (j=n-1;j>0;j--)
     a[j]=a[j-1];
     
     a[0]=dop;
    }
    
     printf("\n\npoluchennii massiv\n");   
    for (int i=0; i<n;i++ )
     printf("%4d",a[i]);*/
     
    printf("\n***********************************************************");
    printf("\nhotite zapustit snova? yes-1, no-0");
    M3:;
    {printf("\nvash otvet= ");
    scanf("%d",&t);
    printf("\n***********************************************************");
    if (t==1)
    goto M1;
    else if (t==0) goto M2;
    else 
    {
    printf("\nvveli nevernii otvet");
    goto M3;}  
    } 
    M2:;{printf("\ndlya zaversheniya nazhmite <Enter>");} 
system ("PAUSE");
return 0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 12:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массив: произвести сдвиг элементов на к позиций, где к-индекс максимального элемента массива (C++):

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента. - C++
Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k- индекс максимального элемента.

Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций, где k – индекс максимального элемента - C++
Помогите пожалуйста решить эту задачу, Дан массив размера N. Осуществить циклический сдвиг элементов массива вправо на k позиций,...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Как вставить индекс после максимального элемента массива со смещением остальных элементов? - C++
После первого максимального (минимального) элемента массива вставьте его номер, передвинув все элементы массива, сле¬дующие за ним, вправо...

Сдвиг элементов массива циклически на a позиций вправо - C++
Применять можно только статические одномерные массивы, циклы и if. Вроде бы всё правильно, но цикл for (j=2; j&gt;0; j--) бесконечно...

Циклический сдвиг элементов массива вправо на К позиций - C++
Дан массив размера N и число К (0&lt;k&lt;5, K&lt;n) Осуществить циклический сдвиг элементов массива вправо на К позиций .

2
sandye51
программист С++
687 / 592 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
23.03.2013, 12:40 #2
C++
1
2
3
4
5
6
7
8
9
const unsigned int size = 100;
float array[size];
 
unsigned int max_index = 0;
for (unsigned int i = 1; i < size; ++i)
if (array[i] > array[max_index])
max_index = i;
 
std::cout << "Max element: " << array[max_index] << std::endl;
0
Marem
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 12
23.03.2013, 12:48  [ТС] #3
спасибо за ответ) но с помощью индексов я понимаю как делать..мне бы понять как с указателями написать((
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 12:48
Привет! Вот еще темы с ответами:

Осуществить сдвиг элементов массива влево на K позиций - C++
Дан массив размера N и целое число K (1 ≤ K &lt; N). Осуществить сдвиг элементов массива влево на K позиций (при этом AN перейдет в AN–K, AN–1...

Осуществить сдвиг элементов массива вправо на k позиций - C++
Всем привет , помогите пожалуйста решить эту задачу на языке Си 9. Дан целочисленный массив размера N. Осуществить сдвиг вправо на k...

Цикличиский сдвиг элементов массива вправо на k позиций - C++
Дан массив размера N ≥ 2 и число k (0 &lt; k &lt; N). Осуществить циклический сдвиг элементов массива вправо на k позиций. Input Первая...

Осуществить циклический сдвиг элементов массива влево на k позиций - C++
Дан массив размера N и число k (0 &lt; k &lt; 5, k &lt; N). Осуществить циклический сдвиг элементов массива влево на k позиций. Гуглю весь день,...


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

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

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