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

Удалить из массива последний отрицательный элемент. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы(задачи) http://www.cyberforum.ru/cpp-beginners/thread406233.html
Начал изучать язык Си.Не могу решить задачи.Прошу помощи в решении: 1.Дано 2(два) массива из цифр: а)найти сумму б)разность в)произведение 2.Перевести число из десятичной системы в двоичную....
C++ Строки с Файлом(в стр без файла) как сделать так чтобы прога читала строки не из файла,а чтобы вводить их самому!?)(БЕЗ ФАЙЛОВ) #include <stdio.h> #include <fstream.h> #include <conio.h> int main() { ifstream... http://www.cyberforum.ru/cpp-beginners/thread406220.html
C++ Как достать исходник из скомпилированной .dll?
Как достать исходник из скомпилированной .dll? Возможно ли это вообще? Добавлено через 3 часа 49 минут ап-ап
C++ Как написать прогу которая удалит все программы с компьютера
Подскажите мне как написать программу которая удалит все программы с компьютера. В цикле без всяких опрос типа далее далее и т.п?? помогите пожалуйста на компе около 700 программ :D разных 2 года...
C++ Выделение памяти http://www.cyberforum.ru/cpp-beginners/thread406163.html
Платформа и компилятор x64. Установлено 64Gb ОЗУ, 60Gb из них откусил SQL Server. Пытаюсь сделать следующее: struct Dictionary { ... }; unsigned int Size = 2 << 29; Dictionary **DataMap =...
C++ Вывод подматрицы с максимальной суммой чисел Прошу помощи в решении следующей задачи: Программа создает двухмерную матрицу NxM которые задаются #define в начале программы, заполняется пользователем положительными целыми числами и печатается.... подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
13.12.2011, 19:19
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 <iostream>
using namespace std;
 
int array_func(int* arr, int size, int x = 1) {
   int  tmp, *it = arr + (size - 1);
   while(it > arr && *it >= 0)
          *it--;
   if(it == arr && *it >= 0) {
        while(x--) {
              tmp = arr[size - 1];
              memmove(arr + 1, arr, (size - 1) * sizeof(int));
              arr[0] = tmp;
        }
   } else 
         memcpy(it, it + 1, (--size - (it - arr)) * sizeof(int));
   return size;
}
 
 
int  main(void) {
  int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
  int size  = sizeof(arr) / sizeof(arr[0]);
 
  // цикл-сдвиг
  size = array_func(arr, size, 4);
  for(int i = 0; i < size; i++)
          cout << arr[i] << "  ";
  cout.put('\n');
 
  // удаление
  arr[0] = arr[size/2] = -1;
  size = array_func(arr, size);
  for(int j = 0; j < size; j++)
         cout << arr[j] << "  ";
  cout.put('\n');
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru