Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Замена элементов динамического массива


Автор: ZimAN 18.12.2009, 20:11
Здравствуйте, помогите с решением задачи [С++] :
Дан массив.
Во всех последовательностях положительных чисел изменить порядок элементов на противоположный.
Решить с помощью указателей (без индексации).

Массив выводит, а как заставить проверять и менять элементы не знаю ...

Код

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <alloc.h>
int main(void) {
 int size;                   /* размер */
 int *Ar;       /* указатель на начало массива */
 int *Cr;            /* текущие указатели */
  randomize(); 
  size=20;
  printf("size=%d\n",size);
  /* выделения памяти */
  Ar=(int far *)malloc(size*sizeof(int));
  
  printf("Начальный массив:\n");
  for (Cr=Ar; Cr<Ar+size; Cr++) {
    *Cr=random(101)-50;
    printf("%3d ",*Cr);
    }
  putchar('\n');

  /* перебор массива */
  for (Cr=Ar; Cr<Ar+size; Cr++) { 
    if (*Cr>0)

      { if (*Cr++>0)

      *Cr=-*Cr;}      

      else {

       Cr++;
    }  
    }  

  /* вывод результатов */
  printf("Массив-результат:\n");
  for (Cr=Ar; Cr<Ar+size; printf("%3d ",*Cr++));
  putchar('\n');
  /* освобождение памяти */
  free(Ar);
  return 0;
}



Помогите пожалуйста ..
Заранее благодарен..

Автор: mr.Anderson 18.12.2009, 20:35

 ! 
mr.Anderson
Модератор: заголовок темы должен содержать язык написания!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)