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

Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работает функции подсчёта символов в строке http://www.cyberforum.ru/cpp-beginners/thread1233512.html
Раньше программировал на VB. Сейчас изучаю С++. Встретил в интернете эти функции подсчёта симолов в строке. С первой всё понятно. Перебираем символы пока не встретим '\0'. int strlen(char s){ int length = 0; for (; s != '\0'; length++); return (length); } Но почему работают две эти?
C++ Функция должна возвращать наименьший положительный элемент массива Помогите, не могу написать этот клочек кода...голова кипит.. Есть постановка задания: Написать функцию (процедуру) с параметрами для обработки одномерного массива целочисленных данных (количество элементов массива ≤50). Функция (процедура) должна возвращать наименьший положительный элемент массива. http://www.cyberforum.ru/cpp-beginners/thread1233510.html
C++ Ошибка "Ascess violation" при выводе массива
В проекте есть две такие строчки: for(int L6x=0;L6x<=argcnt;L6x++){for(int L6y=0;L6y<argsize;L6y++){cout<<ComArgumentList;}cout<<endl;} for(int L7=0;L7<=argcnt;L7++)delete ComArgumentList;delete ComArgumentList; Первая выводит содержимое двухмерного массива символов, а вторая удаляет его. Если хотя бы одна из этих строчек присутствует, то выскакивает ошибка "Ascess violation: write on adress...
C++ После возвращении вектор пуст, хотя в dll size другая информация
передаю вектор по ссылке в функцию dll он должен вставить элемент но после возвращении вектор пуст,хотя в dll size показывает правильно
C++ Переделать строчный калькулятор через ООП http://www.cyberforum.ru/cpp-beginners/thread1233419.html
Друзья, имею отличный строчный калькулятор, сделанный через процедурное программирование. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> //#include <string> using namespace std;
C++ Смещение в файле более 4 Gb Всем привет. Есть необходимость хранить смещение на данные в файле(памяти), который более 4 Gb. Задача тривиальна. Нужно использовать c++99. Единственное что приходит в голову, это хранить смещение в виде структуры (fourGbOffsetsNumber, simple1byteOffset). Не подскажите как выйти из положения? подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
6366 / 3013 / 297
Регистрация: 04.12.2011
Сообщений: 8,103
Записей в блоге: 3
25.07.2014, 00:44     Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива
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 otricatel(int arr_in[], int n, int **arr_out){
    if(n < 1) return -1;
    int c=0;
    for(int i = 0; i < n; ++i){
        if (arr_in[i] < 0)
        c++;//:)
    }
cout<<c<<endl;
*arr_out = new int[c];
int *p=*arr_out;//для читабельности
int j=0;
for(int i = 0; i < n; ++i){
        if (arr_in[i] < 0)
        p[j++]=arr_in[i];
    }
    return c;
}
 
int main()
{
const int n = 10;
int a[]={ 1, 2, 3, -4, 5, -6, 7, 8, -9, 10 };
int *b=0;
int c = otricatel(a, n, &b);
cout<<c<<" operations has been done"<<endl;
for(int i = 0; i < c; ++i) cout<<b[i]<<" ";
if(b) delete []b;//так как заранее неизвестно сколько отрицательных (размер b) то память выделяется в ф-ции и её нужно освободить
cin.get();
return 0 ;
}
 
Текущее время: 08:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru