Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2017, 16:55   #1
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию интересная и не понятная программа гибрид си и си++ что это? - C (Си)

Дана последовательность А=(aj)1<=j<=nA из nA целых чисел. определить функцию Replace(), возвращающую последовательность B=(bk)1<=k<=nB из nB чисел, в которой каждое число из A встречается только один раз.
Пример: А=(0,3,8,3,1,9,0,1,1) nA=9. Ответ:B=(0,3,8,1), nB=4.


Разбирал вот эту программу как такое можно написать? new int такой функции нет в си.#include <stdio.h> указывает на то что программа на си.Что это за гибрид си си++ и где это вообще запускается? самое интересное на си++ работает что-то но без библиотеки си++ то есть лостреам.может я не всё знаю в проге....


Код:
#include <stdio.h> 
#include <conio.h> 
#include <string.h> 
 
int* Replace(int*A,int nA,int &nB) 
{ 
int *B= new int [nA]; 
bool found; 
int k = 0; 
for (int i = 0; i<nA; i++) 
{ 
found = false; 
for (int j = 0; j<nA; j++) 
if (A[i]==A[j]&&i!=j) 
found = true; 
if (!found) 
{ 
B[k]=A[i]; 
k++; 
} 
} 
nB=k; 
return B; 
} 
int main() 
{ 
int A[]={1,2,4,1,3,5,2,7,8,9,0}; 
int nA = 11; 
int nB; 
int *B = Replace(A,nA,nB); 
for (int i = 0; i<nB; i++) 
printf("%d ",B[i]); 
getch(); 
return 0; 
}
Александр121 вне форума Ответить с цитированием
Старый 24.12.2017, 17:13   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

https://habrahabr.ru/sandbox/101290/
Оно ? Но это не для РС, а для микроконтроллеров.
Полезно погуглить stdio.h в C++

Последний раз редактировалось digitalis; 24.12.2017 в 17:16.
digitalis вне форума Ответить с цитированием
Старый 24.12.2017, 17:14   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
работает что-то но без библиотеки си++ то есть лостреам
А что, эту библиотеку использовать обязательно?
waleri вне форума Ответить с цитированием
Старый 24.12.2017, 17:15   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Действительно необычно.
... для тех, кто ни разу не открывал какой-нибудь учебник по С++ или хотя бы википедию.

Ничего что С++ совместим (в основном, кроме разных более сложных вещей) с С?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.12.2017, 21:16   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
Разбирал вот эту программу как такое можно написать? new int такой функции нет в си.#include <stdio.h> указывает на то что программа на си.
Когда-то давным давно stdio.h вполне себе инклюдился в плюсах. Может сейчас надо строго cstdio присоединять или как там плюсовый аналог называется.
pu4koff вне форума Ответить с цитированием
Старый 24.12.2017, 23:19   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Он и сейчас там. Хотя, действительно, более правильно подключать в плюсах cstdio.
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
надо при компиляции чтоб писало что это первая функция и что это вторая как сделать? Uourin Помощь студентам 0 18.05.2016 20:24
Что это за программа? Роман1960 Помощь студентам 7 03.04.2012 11:44
Обьясните, что делает это программа??? ~Леди~ Общие вопросы Delphi 2 05.04.2011 10:47