wwwcom1
26.02.2020 02:57

В файле unit1.cpp напишите функцию int DeleteDuplicates(int r[], int n){
которая удаляет дубликатные значения из несортированного массива r длиной n.
Функция возвращает длину результирующего массива
//
/* УДАЛИТЬ ДУБЛИКАТЫ В НЕСОРТИРОВАННОМ МАССИВЕ */
#include
#pragma hdrstop

#include "Unit1.h"
//
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}

#define DIGIT 0
#define COMMA 2
#define DEFIS 3
#define BLANK 4
#define OTHER 5
//
static short SymClass(char z){
// для ParsePages
if(z>='0' && z<='9'){
return DIGIT;
}
if(z==','){
return COMMA;
}
if(z=='-'){
return DEFIS;
}
if(z==' '){
return BLANK;
}
return OTHER;
}

//
int StringToIntArray(AnsiString p, int *r){
int k,p1=-1,p2=-1;
char *s;
char buf[20];
short sClass;
int i=0; // номер символа набираемого числа
int n=0; // число страниц (текущая длина p)
int LastPunkt=-1; // последний символ из DEFIS или COMMA
// -1 значит никакого

if(p.IsEmpty()){
return 0;
}
for(s=p.c_str(); *s!='\0'; s++){
sClass=SymClass(*s);
switch(sClass){
case DIGIT:
buf[i++]=*s;
break;
case COMMA:
buf[i]='\0';
if(LastPunkt==-1 || LastPunkt==COMMA){
p1=atoi(buf);
r[n++]=p1;
}
if(LastPunkt==DEFIS){
p2=atoi(buf);
if(p1==-1 || p2==-1){
return -1;
}
if(p2 return -1;
}
for(k=p1;k<=p2;k++){
r[n++]=k;
}
p1=p2=-1;
}
i=0;
LastPunkt=COMMA;
break;
case DEFIS:
buf[i]='\0';
p1=atoi(buf);
p2=-1;
LastPunkt=DEFIS;
i=0;
break;
case BLANK:
break;
default:
return -1;
} // switch
}
buf[i]='\0';
if(LastPunkt==-1 || LastPunkt==COMMA){
p1=atoi(buf);
r[n++]=p1;
}
if(LastPunkt==DEFIS){
p2=atoi(buf);
if(p1==-1 || p2==-1){
return -1;
}
for(k=p1;k<=p2;k++){
r[n++]=k;
}
}
return n;
}

//Не удаляйте и не изменяйте эту строку
int DeleteDuplicates(int r[], int n){
// ФУНКЦИЯ, КОТОРУЮ ВЫ ДОЛЖНЫ НАПИСАТЬ
// удалить дубликатные значения из
// несортированного массива r длиной n.
// Функция возвращает длину результирующего массива
return n;
}
//Не удаляйте и не изменяйте эту строку

//
void __fastcall TForm1::btnClick(TObject *Sender){
int r[1024];
int n= StringToIntArray(edt1->Text, r);
int k=DeleteDuplicates(r,n);
AnsiString s="", Comma="";
for(int i=0; i s=s+Comma+r[i];
Comma=",";
}
edt2->Text=s;
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
bohdan4ever
17.02.2020 19:36

кст песни(слова) нурминский - купить бы джип



все тексты песен(слова) нурминский

[припев]:

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

[куплет 1, нурминский]:

квартала эти улицы -

разбитые машины, люди губятся.

дурью травятся.

не предлагайте ничего. куда всё катится?

братишка, подготовь-ка мне номера адвокатов;

так, на всякий случай; так, от всяких гадов.

сегодня на районе, сегодня я закатан.

желаю видеть никого! желаю лишь закаты.

опять эти менты (с*ки)

шухер, убери! разбег, пацаны.

и беги! беги, куда не важно.

один же привод был, тебе нельзя ведь дважды.

(нет, нет, нет)

опять придётся отмечаться пацанам,

чьим подвигам не быть сбываться.

кому-то дома, с отчимом ругаться.

отче наш - спаси! как перестать боятся?

[припев]:

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

[куплет 2, нурминский]:

отдайте молодым этот дым -

всем, кто нуждается! всем, кто ругается.

не думал ли братёк, ты покаяться?

скажешь не грешил? да нет - тебе кажется.

ты пока-пока, ты пока-покажи-ка мамка

куда запрятала травматку.

братишке вечером несладко.

пойду и порешаю! не включу обратку.

и пусть простят же нас эти небеса -

за наши, за наши деяния.

вдруг вся родня идут делить наследный дом.

молодые вдовы, ну а потом -

люди болеют, смс-кой поддержи -

протяни руку .

и сколько ждать? да, я скорее улечу.

не надо мне летать! я просто хочу.

[припев]:

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

купить бы джип бронированный, 

весь заряженный, тонированный.

чтобы не лезла нечисть, не видеть суеты -

ли полумесяцы, кресты?

дополнительная информация

текст песни нурминский - купить бы джип.

автор текста: альберт шарафутдинов.

ноябрь 9, 2018

0,0(0 оценок)
Ответ:
vetraven
16.02.2023 00:02
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

procedure MakeFile(path:string);
// не относится к заданию, создает файл Text со 100 числами
begin
  WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString))
end;

begin
  MakeFile('MyFile1.txt');
  // теперь у нас есть текстовый файл из 100 случайных чисел
  // собственно, решение
  var n:=ReadInteger('Укажите количество чисел:');
  var a:=ReadLines('MyFile1.txt').Take(n).ToArray;
  Writeln('Исходная последовательность'); a.Println;
  Writeln('Результирующая последовательность');
  a:=a.OrderBy(x->x.Last).ToArray; a.Println;
  WriteAllLines('MyFile2.txt',a);
end.

Пример
Укажите количество чисел: 15
Исходная последовательность
51 -9 17 -12 7 -15 -20 50 98 19 56 67 -57 -42 64
Результирующая последовательность
-20 50 51 -12 -42 64 -15 56 17 7 67 -57 98 -9 19
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота