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

Сдвиг Указатели - C++

Восстановить пароль Регистрация
 
a16a
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 117
25.04.2014, 19:12     Сдвиг Указатели #1
Всем привет, делаю программу с помощью указателей но не знаю как тут быть:? помогите
нужно отредактировать эту часть
C++
1
2
3
4
5
6
      for(i=0;i<k;i++)
             { buf=m[N-1];
               for(j=N-1;j>0;j--)
               m[j]=m[j-1];
               m[0]=buf;    
             }
Полный код
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
#include<iostream>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
      setlocale(LC_ALL,"rus"); 
      srand(time(0));
      int N; 
      printf("Ââåäèòå N=");
      scanf("%d",&N);
      int i,m[N],buf,j,k=0,max;
      int *pm=&m[0];
      for(i=0; i<N; i++)
               {*pm=rand()%4-2;
                pm++;}
      pm=&m[0];
      max=*pm;
      for(i=0;i<N;i++)     
               {if(max<*pm)            
                {max=*pm;
                 k=i;}
                 *pm++;
                }               
      printf("\n \nÑãåГ*åðèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў\n");
      pm=&m[0];
      for (i=0;i<N;i++)                  
      {printf("%2d",*pm); *pm++;}
      printf ("\n \nÑäâèã ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* Г*Г* %d ïîçèöèé \n", k);
      pm=&m[0]; 
      for(i=0;i<k;i++)
             { buf=m[N-1];
               for(j=N-1;j>0;j--)
               m[j]=m[j-1];
               m[0]=buf;    
             }
      pm=&m[0];
      for (i=0;i<N;i++)
      {printf ("%2d",*pm);pm++;} 
      printf ("\n\n");
      system("pause");
      return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 19:12     Сдвиг Указатели
Посмотрите здесь:

C++ СДВИГ
Сдвиг C++
C++ Сдвиг перестановки.
Побитовый сдвиг C++
Одномерные массивы и указатели (Все отрицательные элементы увеличить на значение максимального элемента. Осуществить сдвиг) C++
Указатели: циклический сдвиг элементов массива C++
Циклический сдвиг C++
Сдвиг в массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,159
Завершенные тесты: 1
25.04.2014, 19:30     Сдвиг Указатели #2
C++
1
2
3
4
5
6
7
8
for(i=0;i<k;i++)
{ 
    buf=*(m+N-1);
    pm=m+N-1;               
    for(;pm>m;--pm)
       *pm = *(pm-1);
     *m = buf;    
 }
А почему а Вас внутренность цикла от i не зависит?
a16a
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 117
25.04.2014, 19:40  [ТС]     Сдвиг Указатели #3
а вы о каком "i"? если будет два "i" "i" то программа не запутается ?
Yandex
Объявления
25.04.2014, 19:40     Сдвиг Указатели
Ответ Создать тему
Опции темы

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