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

Удалить нулевые элементы из одномерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread222343.html
Здравствуйте! Пожалуйста, помогите улучшить программу. Программа работает, только надо добавить StringGrid, куда надо выводить бинарное дерево так, чтобы оно располагалось структурировано. То есть меньший элемент левее, больший – правее, а корень находился выше и посередине. И чтобы это выглядело так в не зависимости от количества элементов. Как это представить? У меня стоит CodeGear RAD...
C++ Скроллер в консоли Здравствуйте, господа. Можно ли каким-то образом сделать так, чтобы в правой части окна консольного приложения, написанного в борланде, был скроллер? Знаю, как это сделать в VS только. Мне надо сделать именно в борланде, а не в VS сейчас. Заранее благодарю за возможные ответы. http://www.cyberforum.ru/cpp-beginners/thread222330.html
C++ Массив
В одномерном массиве посчитать сумму элементов до последнего положительного элемента, в С++ билдере плиз
матрица C++
дана действительная матрица размера mxn.Определить числа b1...bm,соответственно значениям средних арифметических элементов строк.
C++ Срочно (Массивы) 3 Вариант http://www.cyberforum.ru/cpp-beginners/thread222318.html
Задание 1 1. Описать двумерный массив целых чисел, число строк которого N. число столбцов М ввести с клавиатуры 2. Написать функцию для определения является ли строка с заданным номером, упорядоченной по возрастанию. 3. Массив. С которым будут выполняться действия, следует передавать в функцию, как параметр, результат возвратить оператором return 4. Написать функцию main ( ) для ввода...
C++ исправить ошибки в простой программе Приветствую! Суть програмы вот в чем. Надо в одномерном массиве посчитать сумму элементов до последнего нуля. При этом есть требования: 1 Подготовить текстовый файл с входными данными. 2 Входные данные прочитать из файла 3 Вывести результат на экран и дозаписать в файл 4 в файле указать: в первой строке колличество элементов, а во второй строке указат сами элементы. Я написал программу... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
29.12.2010, 16:11     Удалить нулевые элементы из одномерного массива
Цитата Сообщение от Netscape Посмотреть сообщение
А разве в одномерном массиве нулевых элементов несколько?
Думается, имелось в виду, что нужно удалить элементы, равные нулю. Вот решение с одним массивом, до кучи:
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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
 
#define N 25
#define L_T -3
#define R_T 3
 
void display(int*, size_t);
void shift(int*, size_t, size_t);
 
int main()
{
    srand((size_t) time(NULL));
    int array[N];
    size_t k = N;
    size_t i;
    for(i = 0; i < N; ++i)
        array[i] = rand() % (R_T - L_T + 1) + L_T;
        
    puts("Initial array:");
    display(array, N);
    for(i = 0; i < k; )
        if(array[i] == 0)
            shift(array, i, k--);
        else
            ++i;
            
    puts("Array without zeros:");
    display(array, k);
    exit(0);
}
 
void display(int* a, size_t n)
{
    size_t i;
    printf("[%u] ", n);
    for(i = 0; i < n; ++i)
        printf("%d ", a[i]);
    putchar('\n');
}
 
void shift(int* a, size_t j, size_t size)
{
    size_t i;
    for(i = j; i < size - 1; ++i)
        a[i] = a[i + 1];
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru