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

удаление нулей из массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверить, есть ли в матрице хотя бы один столбец, содержащий отрицательный элемент, и найти его номер. Уменьшить элементы найденного столбца вдвое http://www.cyberforum.ru/cpp-beginners/thread762483.html
Привет коллеги. Помогите составить программу в Си.
C++ Реализовать базу данных в виде массива Основываясь не этой структуре: struct clientData //клиент { int accNum; //номер счёта char Sur; //фамилия char Name; //Имя float balance; //Баланс (сумма на счету, или долг) };... http://www.cyberforum.ru/cpp-beginners/thread762472.html
Вывод в обратном порядке C++
Даны два целых числа a и b. Написать программу, которая будет выводить значения а и b в обратном порядке, то есть сначала b, потом а. Input В первой строке записано количесвто Т тестов. В...
Указатели и ссылки? C++
Ниже приведёна программы которая вызывает функцию. В функции происходит следующее создаются 2 массива в которые записыватся чётные и нечётные числа соответственно. Не понимаю следующего, если я...
C++ векторы и итераторы http://www.cyberforum.ru/cpp-beginners/thread762391.html
void delete_duplicate_neiron(vector<vector <SNeiron> ::iterator >nw) // контейнер имеет 8 значений { for (unsigned int i = 0; i < nw.size() ; i++) { vector <SNeiron> ::iterator ni = nw;...
C++ Указатель и массив #include <iostream> #include <conio.h> using namespace std; int main () { setlocale (0,""); int *a,size; cout << "Укажите размер массива: "; cin >> size; ... подробнее

Показать сообщение отдельно
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 149
15.01.2013, 16:36  [ТС]
Цитата Сообщение от Doctor_ Посмотреть сообщение
C++
1
2
3
4
5
if(a[i] == 0) {
i++;
} else {
cout << a[i] << " ";
}
заменить или дописать?
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
#include "StdAfx.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
 
void main()
{
    int a[100];
    int b[100], n, i;
    cout<<"\nBBeduTe pa3Mep MaccuBa: ";
    cin >> n;
    for(i=0; i<n; i++)
    {
        a[i]=rand()%100;
        cout<<a[i]<<" ";
        if(a[i] == 0) 
        {
            i++;
        } 
        else 
        {
            cout << a[i] << " ";
        }
    }
    
    system("pause");
 
}
если так, то да, нули не выводит, а числа дублирует.

Цитата Сообщение от Croessmah Посмотреть сообщение
То есть удалить? Просто переместить его в конец и уменьшить переменную, в которой храниться кол-во элементов в массиве? Или же перевыделять память под массив?
я даже незнаю, но как я понял, там должен быть новый массив с темиже числами только без нулей...

Цитата Сообщение от Croessmah Посмотреть сообщение
а если i=0?
хм... даже не задумывался...

Добавлено через 7 минут
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
#include "StdAfx.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
 
void main()
{
int a[100];
int b[100], n, i;
cout<<"\nBBeduTe pa3Mep MaccuBa: ";
cin >> n;
for(i=0; i<n; i++)
{
a[i]=rand()%100;
cout<<a[i]<<" ";
if(a[i] == 0) 
{
i++;
} 
else 
{
cout << a[i] << " ";
}
}
 
system("pause");
 
}
точнее, он числа продублировал, а ноль где был там и остался
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru