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

Перестановка элементов в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вопрос про указателей http://www.cyberforum.ru/cpp-beginners/thread60602.html
вот напр эта строка int *m=new int; это как я понял создается указатель?тогда что такое new int?
C++ Программа ввода текста с клавиатуры. задание: Составить программу, которая вводит с клавиатуры строку, содержащую до 75 символов, и выводит на экран слова из этой строки, длина которых составляет 5...8 букв. В случае отсутствия таких... http://www.cyberforum.ru/cpp-beginners/thread60601.html
сортировка вектора C++
вектор содержит нетривиальные типы данных, (class t{int , char, struct c{...}...}) необходимо отсортировать вектор по одному из полей, какая сортировка будет быстрее вставками или qsort вектор...
C++ Срочно. Контрольная по строкам.
Срочно хелп плз! Задача: Дана строка, содержащая от 5 до 10 русских слов, рахделенных пробелами, конец строки - точка. Вывести на экран: 1. Все слова столбцом по...
C++ Наследование конструкторов? http://www.cyberforum.ru/cpp-beginners/thread60581.html
Сдаю лабораторную на тему наследования в С++ : #include <iostream> using namespace std; class hero { protected: int jiv; int pow; public: hero(int j, int p)
C++ Решение примера с использованием цикла Нужно до завтра написать программу с использованием Циклов для решения следующего примера: http://s57.***********/i156/0911/6d/91932d40b75b.jpg Нужно вычислить и вывести на экран в виде таблицы... подробнее

Показать сообщение отдельно
ZimAN
0 / 0 / 0
Регистрация: 13.05.2008
Сообщений: 3
15.12.2009, 22:59
Здравствуйте, помогите пожалуйста с написанием кода с таким же условием как и у St@lker, но не используя индексацию, а только адресацию (указатели).

у меня пока оно меняет все положительные элементы, (плохо знаю указатели), вот моя наработка:
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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <alloc.h>
int main(void) {
 int size;                   /* размер */
 int *Ar;       /* указатель на начало массива */
 int *Cr, *Ir;            /* текущие указатели */
 int nn;            /* количество элементов в последовательности  */
  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 (nn=0, Cr=Ar; Cr<Ar+size; Cr++) { 
    if (*Cr>0)
 
      if (!nn) {                                  
         Ir=Cr; nn=1;
         }
      else {
 
         nn++;
        }
 
    else
      if (nn) {
      
        for (nn; Ir<Cr; Ir++)
          if (*Ir>0) *Ir=-*Ir;
        nn=0; 
        }  
    }  
  if (nn)
    for (nn; Ir<Cr; Ir++)
      if (*Ir>0) *Ir=-*Ir;
  /* вывод результатов */
  printf("Массив-результат:\n");
  for (Cr=Ar; Cr<Ar+size; printf("%3d ",*Cr++));
  putchar('\n');
  /* освобождение памяти */
  free(Ar);
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru