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

Удаление элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение интегрального уравнения Вольтерра второго рода. http://www.cyberforum.ru/cpp-beginners/thread356584.html
Есть код программы на C sharp, взятый давно с alglib (сейчас его там нет) : using System; namespace alglib { public class volterra2 { /* This members must be defined by you: static double f(double x)
C++ Нужна консультация по ДМ Все привет. Вообщем задали нам курсовую по Дискр. Мат-ке. Мне досталась тема "Эфективное кодирование. Сжатие текса". Литература есть, почитал (поверхностно) еще приципы работы архиваторов. Используеться метод Шеннона - Фано... Надо будет написать программу с процедурами архивации и разархвации. Но я незнаю на чем написать, мы изучали паскаль и С++. Паскаль мы изучале дольше. Но я незнаю на... http://www.cyberforum.ru/cpp-beginners/thread356575.html
C++ В каждой строке матрицы переставить в обратном порядке элементы
Разработать программу обработки прямоугольной матрицы – двумерного динамического массива. В каждой строке матрицы переставить в обратном порядке элементы, расположенные между последним и максимальным элементами.
Проблема с выводом строки C++
#include<iostream> #include<string> #include<conio.h> #define SIZE 100 using namespace std; class Adress { char fam; char street;
C++ Описать структуру с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread356529.html
Помогите написать листининг программы, со следующим заданием. Описать структуру с именем TRAIN содержащую след. поля: 1. название пункта назначения 2. номер поезда 3. время отправления Написать программу, выполняющую след. действия: 1. ввод с клавиатуры данных в массив, состоящих из шести элементов типа TRAIN, записи должны быть упорядочены по времени отправления поезда 2 вывод на экран...
C++ Задача Покер Даны 5 целых чисел. Среди них: если одинаковы 5, то вывести "Impossible", иначе если одинаковы 4, то вывести "Four of a Kind", иначе если одинаковы 3 и 2, то вывести "Full House", иначе если есть 5 последовательных, то вывести "Straight", иначе если одинаковы 3, то вывести "Three of a Kind", иначе если одинаковы 2 и 2, то вывести "Two Pairs", иначе если одинаковы 2, то вывести "One... подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
26.09.2011, 17:44     Удаление элементов массива
Цитата Сообщение от Devsety Посмотреть сообщение
Удалить в массиве первую группу из двух подряд идущих нулей.
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
#include <iostream>
using namespace std;
 
int  arr_erase(int val, int*  arr, int size, int all = 0) {
   int* na, *nb;
   int  len;
   int* end = arr + (size - 1);
   do {
          if( *arr == val && *(arr + 1) == val ) {
                for(len = 2; len > 0; len--)
                   for(na = arr, nb = arr + 1; na != end + 1; *na++ = *nb++);
                size -= 2;
                arr  -= 2;
                if(! all)
                    break;
           }
   }  while(++arr != end);
   return size;
}
 
int   main(void) {
    int arr[] = { 0, 100, 0, 30, 0, 0, 1, 0, 0,  23, 0, 11, 0, 0 };
 
    // если последний параметр: 1-удаление всех  элементов, 0 - только первые два
    int size  = arr_erase(0, arr, sizeof(arr)/sizeof(int), 1);
    for(int i = 0; i < size; i++)
           cout << arr[i] << ", ";
    cout.put('\n');
 
    cin.get();
    return 0;
}
 
Текущее время: 05:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru