Кому порешать задачи - пишите сюда

Пух

كنت بلهاء
Модератор
Кто знает, как сделать , чтобы массив был отсортерован так: Сначало элементы, значение которых лежат в пределе [a,b] (а и б вводятся с формы) а потом все остальные в уменьшительном порядке? DELPHI
Записать элементы, значение которых лежат в пределе [a,b] в 1 массив, а в другой записать все остальные. Первый массив не трогать, а второй отсортировать по спаданию любым алгоритмом.

Код:
double[] source = new double[n]; //исходный
double[] arr1 = new double[n];  //в диапазоне [a,b]
double[] arr2 = new double[n]; //остальные
int j = 0; 
int k = 0;
for (int i = 0; i < n; i++){
   if (source[i] >=a && source[i] <= b){
        arr1[j++] = source[i];
   } else {
        arr2[k++] = source[i];
   }
}

//тут отсортировать arr2, который имеет k элементов.
псевдокод такой
 

_STIFLER_

Вольный слушатель
Записать элементы, значение которых лежат в пределе [a,b] в 1 массив, а в другой записать все остальные. Первый массив не трогать, а второй отсортировать по спаданию любым алгоритмом.

Код:
double[] source = new double[n]; //исходный
double[] arr1 = new double[n];  //в диапазоне [a,b]
double[] arr2 = new double[n]; //остальные
int j = 0; 
int k = 0;
for (int i = 0; i < n; i++){
   if (source[i] >=a && source[i] <= b){
        arr1[j++] = source[i];
   } else {
        arr2[k++] = source[i];
   }
}

//тут отсортировать arr2, который имеет k элементов.
псевдокод такой


Я так понял. это язык си... я с ним не знаком... а на объект паскаль можете перевести?
 

Moxa

New Member
Анализатор дефрагментации

Приветствую !

Кто шарит в делфи: нужно сваять приблудку, которая будет анализировать диск С: на предмет нужна/не нужна ему дефрагментация и по результатам выдавать например простое окошко с сообщением "1" (нужна) или "0" (не нужна).

В ком. строке это делается просто: defrag c: -a.
 

Пух

كنت بلهاء
Модератор
Re: Анализатор дефрагментации

Приветствую !

Кто шарит в делфи: нужно сваять приблудку, которая будет анализировать диск С: на предмет нужна/не нужна ему дефрагментация и по результатам выдавать например простое окошко с сообщением "1" (нужна) или "0" (не нужна).

В ком. строке это делается просто: defrag c: -a.


find "320" in.txt
поменять на defrag c: -a

1-я ссылка в гугле...
 

Moxa

New Member
Эта команда была для примера, она не фурычит в Win 2000 (хотелась бы совм. с ОС от Вин 2000 до вин серв 2008 ).

Вобщем, кто напишет, тому пиво.
 

_STIFLER_

Вольный слушатель
Всем привет=)

var
Form1: TForm1;
f:TextFile; // объявление файловой переменной
st:Real; // строковая переменная


implementation

{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
AssignFile(f,'c:\1.txt'); // привязка названия файла к файловой переменной
Rewrite(f); // открытие файла для записи
mmo1.Lines.SaveToFile('c:\1.txt');
CloseFile(f); // закрыть файл
end;

В чём баг? не хочет в фаил писать... Ругается,что оькрыт фаил другим процессом, поэтому не пишет, но фаил в действительности закрыт... заранее спасибо=)
 

dreamer

Member
Всем привет=)

var
Form1: TForm1;
f:TextFile; // объявление файловой переменной
st:Real; // строковая переменная


implementation

{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
AssignFile(f,'c:\1.txt'); // привязка названия файла к файловой переменной
Rewrite(f); // открытие файла для записи
mmo1.Lines.SaveToFile('c:\1.txt');
CloseFile(f); // закрыть файл
end;

В чём баг? не хочет в фаил писать... Ругается,что оькрыт фаил другим процессом, поэтому не пишет, но фаил в действительности закрыт... заранее спасибо=)
Файл в действительности открыт вами же.

Код:
   Rewrite(f); // вы открыли файл
   mmo1.Lines.SaveToFile('c:\1.txt'); // вы передаете имя файла, а не
   // файловую переменную, так что процедура сама пытается открыть его 
   // а он уже открыт вами
Файловая переменная вам не нужна, SaveToFile принимает строку в качестве параметра.
 

zarpfu18194

New Member
Здравствуйте !
Прошу помощи в написании батника, который делает следующее:

Переименовывает файл D:\test\*.rtf (* - всегда разные имена будут) в D:\test\n_*.rtf (где n - число, которое должно увеличиваться на 1 при срабатывании батника )
затем этот файл когда-то будет перенесён в директорию D:\test\arhiv\
но номерация файлов должна продолжаться

тоесть,
появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\1_*.rtf
опять появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\2_*.rtf
руками перенёс все файлы из D:\test\ в D:\test\arhiv\
появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\3_*.rtf

может не очень понятно расписал, извиняйте
 

[mAd_cAt]

Забанен
Здравствуйте !
Прошу помощи в написании батника, который делает следующее:

Переименовывает файл D:\test\*.rtf (* - всегда разные имена будут) в D:\test\n_*.rtf (где n - число, которое должно увеличиваться на 1 при срабатывании батника )
затем этот файл когда-то будет перенесён в директорию D:\test\arhiv\
но номерация файлов должна продолжаться

тоесть,
появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\1_*.rtf
опять появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\2_*.rtf
руками перенёс все файлы из D:\test\ в D:\test\arhiv\
появился файл D:\test\*.rtf - после отработки батника должно быть D:\test\3_*.rtf

может не очень понятно расписал, извиняйте
Пожалуйста:
Код:
setlocal
for %%i in (*.rtf) do call:ren "%%i"
pause
goto:eof
:ren
set /a counter+=1
ren %1 %counter%.rtf
 

Lina K

New Member
Язык: С
Задача: Необходимо написать программу, которая решает системы линейных алгебраических уравнений. Коэффициенты СЛАУ загружать из файла.
Программа должна решать СЛАУ методом Гаусса.
(Заранее спасибо!)
 
Зверху