Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

Сим-Сим88:

var

I,N: Integer;

Mid,Sum,Min,Max: Real;

A: array [1..100] of Real;

begin

ReadLn(N);

{ввели, сколько чисел будет введено}

for I:=1 to N do ReadLn(A);

{ввели числа в массив}

Max:=A[1]; Min:=A[1]; Sum:=0;

for I:=1 to N do

begin

Sum:=Sum+A;

if A<Min then Min:=A;

if A>Max then Max:=A;

end;

Mid:=(Sum-Max-Min)/(N-2);

WriteLn(Mid);

end.

Надеюсь, все понятно: пробегаем по массиву, накапливая сумму всех чисел в Sum (часто используемый для однообразия вычислений прием - сначала копилку Sum опустошаем, а потом добавляем в нее числа в цикле по массиву).

Заодно при пробежке по массиву замечаем максимальное и минимальное числа, сравнивая текущий элемент массива с бывшими до того максимумом и минимумом и корректируя их на будущее, если кто-то из них перекрыт. Для начала кладем максимум и минимум равными первому числу массива.

После пробежки по массиву осталось вычесть из суммы максимум и минимум и найти среднее. Подвох: раз мы не учитываем максимум и минимум, то и число элементов для вычисления среднего надо подкорректировать на два. Поэтому, кстати, вводимых чисел должно быть не меньше трех, чтобы среднее считалось хотя бы по одному числу.

Замечу дополнительно, что максимальным числом элементов в массиве мы сразу назначили заранее определенное число 100, потому что так проще. А создание массива с не фиксированной, а вводимой в ходе выполнения программы длиной (то есть A[1..N]), что вроде бы логичнее, делается сложнее и на более продвинутом уровне изучения языков программирования, да и сильно увеличивает время выполнения программы за счет длительной операции динамического выделения памяти. Правда, для нашей программы и времени, и памяти требуется - кот наплакал.

Чтобы программа была совсем хорошей, полезно вставить в ее текст проверку, чтобы вводимых чисел было не меньше трех и не больше 100, иначе программа должна прекращать работу с выдачей объяснения, а также вставить подсказки к вводу и выводу типа WriteLn('Введите, сколько элементов будет в массиве'); и т.п., но это не обязательно.

Ссылка на комментарий
Поделиться на другие сайты

Нужен совет.

Задача: записать на флэш диск (32GB-72GB с интерфейсом АТА) информацию одним файлом с микроконтроллера, а затем сбросить её на компьютер через USB(если аппарат вернётся целым) или напрямую (по АТА).

Вопрос: можно ли не использовать FAT. NTFS и т.п. или без этого задача невыполнима.

Ссылка на комментарий
Поделиться на другие сайты

pinmix:

задача:

Ввести строку.

Заменить знаки препинания на сокращения.

поясняю:

сначала ты вводишь текст... например:

"Сижу. Пишу."

затем нажимаешь [Enter] и в резльтате он должен вывести что-то типа:

"Сижутчк Пишутчк"

Держи, если не поздно :(

main.rar

main.rar

Ссылка на комментарий
Поделиться на другие сайты

Доброго времени суток всем участникам форума.

Требуется программулька с примерно такими свойствами:

- работает под ВинХР в окне фиксированного размера "always on top" (если получится, окно еще хорошо б перемещать мышкой)

- интерфейс пльзователя - восемь кнопок с надписями по русски

- при нажатии мышкой на кнопку прога должна отправить на порт TCP/IP сообщение вида: http://<IP>/cgi-bin/senddata.cgi?data=<ASCII>

- при отпускании кнопки - тоже, но с другим <ASCII> (каждой кнопке - свой ASCII код на нажатие и единый для всех на отпускание)

- используемый в сообщении IP должен вводиться пользователем, как параметр, при инсталляции.

Может, кто возьмется такое сотворить? Язык непринципиален, но предпочтительно на VB, чтоб смог в будущем сам вводить небольшие поправки, если потребуется.

Ссылка на комментарий
Поделиться на другие сайты

Как защитить программу так, чтобы она считывала имя пользователя компьютера и принимала пароль подходящий только для этого пользователя?

Ссылка на комментарий
Поделиться на другие сайты

O1egarX

На клиенте считать имя компьютера, или любые другие идентификационные данные, и вместе с регистрационным ключом программы отправить на регистрацию на сервер.

На сервере проверяется валидность регистрационного ключа. Затем полученные идентификационные данные шифруются обратимым шифрованием, и отправляются на клиента в виде ключа подтверждения регистрации.

На клиенте полученный ключ расшифровывается и из него достаются идентификационные данные. Затем они сверяются с реальными данными, считанными с компьютера. Если совпали - все ок. Если нет - значит это чужой ключик.

P.S. А затем Вася Пупкин, знатных хакер, проходится дизассемблером по твоей проге, и пишет кейген для нее.

Ссылка на комментарий
Поделиться на другие сайты

O1egarX:

Не совсем понял смысл задачи. Все знают пароль, а подходит он только для определенного пользователя? Тогда зачем вообще пароль, достаточно проверить имя текущего пользователя?

Ссылка на комментарий
Поделиться на другие сайты

aTeos:

Держи, если не поздно :(

Спасибо за помощь, но я же сам сделал.

Но бду очень благодарен Если мне кто-нибудь поможет сделать еще одну работку (это моя последня лаб-а):

Если кто знает книжку Риччи и Кернигана "Програмирование С и С++", это задачка от туда(задача №2.6).

"Напишите функцию setbits(x,p,n,y) возвращающую значение x, в котором n битов, начиная с p-ой позиции, заменены на n правых разрядов из y (остальные биты не изменяются)"

Поясняю вводится два десятичных числа в компе они представляются в двоичном коде например:

1001110101

1000101101

вывести комп должен: 1001101101 (в десятичном виде)

Из первого введенного числа X n=5 бит (отмечены красным) начиная с p=2 (если кто не помнит в С нумерация начинается с 0), заменены на n=5 правых разрядов (отмечены зеленым) числа Y.

Извиняюсь...

Спасибо за помощь, но я же сам сделал.

"Уже сделал"

Ссылка на комментарий
Поделиться на другие сайты

aTeos:

А задачку со знаками препинания я делал с помощью массива с указателем:

*znak{.,:?}
Ссылка на комментарий
Поделиться на другие сайты

Я делал чтото вроде "Висилица" но не словом, а с цветним кругчикам. Если тебе поможет, сорс находеться в "Наши с вами исходники"

Надо только его не много отредактировать

Ссылка на комментарий
Поделиться на другие сайты

1. Напишите программу, которая показывает, как можно обработать родственные исключения, приведите, по крайне мере, два способа.

2. Написать программу, работающую с безопасным массивом, в котором выход за пределы массива генерирует пользовательское исключение. Обработать исключение, предложив задать другие параметры.

3. Написать программу, в которой необходимо отсортировать массивы вещественных, целых, символьных типов методом вставки. Программа должна сортировать и массивы строк. Но для сортировки массива вещественных чисел использовать сортировку методом пузырька.

i

Уведомление:

Темы соединил.

Shurr.

Изменено пользователем Shurr
Ссылка на комментарий
Поделиться на другие сайты

Кто в С разбирается - выручите, пожалуйста. Я запутался.. Нужно написать мелкую прогу:

- прога из *.txt считывает текст;

- форматирует текст так, чтобы между словами был бы только 1 пробел;

- форматирует текст так, чтобы между предложениями было бы 2 пробела;

- результаты выводятся на экран и записываются в файл данных (я так понимаю другой файл);

Забыл сказать, что программу надо написать посредством функций, т.е. всего должно быть 4 функции.

З.Ы. Если не трудно, прилепите плиз объяснение как она работает...

Помогите, через неделю сессию, а я эту задачу ни бум-бум :g:

Изменено пользователем elsp
Ссылка на комментарий
Поделиться на другие сайты

А я опять пристаю с паскалем :cool:

От этой работы зависит мой автомат по ИВТ.

В заданной матрице A m*n найти минимаксный элемент и номер строки, в которой он расположен.

Минимаксный- минимальный из максимальных элементов строк.

Буду премного благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Сим-Сим88

По накатанной дорожке... поиграем мы в матрешки.

То же самое, задача на поиск максимума/минимума/суммы, только представители строк (максимумы) нам придется вычислять на ходу внутри алгоритма нахождения минимума. Единственное, что я изменю в алгоритме поиска максимума/минимума - в качестве начального значения для сравнений возьму не первый элемент ряда, а просто заведомо очень большое отрицательное (или, для поиска минимума, очень большое положительное) число. Так текст будет короче, потому что во внешнем цикле вначале я ни одного элемента не знаю, они вычисляются в процессе его выполнения во внутреннем цикле. Значения этих чисел я беру -1e38 и 1e38, потому что они близки к предельным значениям для типа Real.

var

I,J,M,N,K: Integer;

Min,Max: Real;

A: array [1..100,1..100] of Real;

begin

WriteLn('Введите размерности матрицы (через пробел)',M,N);

ReadLn(M,N);

for I:=1 to M do

begin

WriteLn('Введите элементы',I,'-й строки, разделяя их пробелами');

for J:=1 to N do Read(A[i,J]);

end;

Min:=1e38;

{проведем цикл по всем строкам}

for I:=1 to M do

begin

{ищем максимум по строке}

Max:=-1e38;

for J:=1 to N do if A[i,J]>Max then Max:=A[i,J];

{нашли максимум в I-ой строке}

if Max<Min then begin Min:=Max; K:=I end;

{заменили минимальный максимум, если у этой строки максимум меньше прежних, и запомнили номер строки}

end;

WriteLn;

WriteLn('Минимум среди максимальных элементов строк: ',Min,' в строке',K);

end.

Ссылка на комментарий
Поделиться на другие сайты

Вообщем есть одна чудо - прога - оффсайт вот.

Можно ли ее перекроить под другой браузер, скажем под Opery и добавить список сайтов, где она ищет?

Надеюсь, кто-н сможет это сделать или объяснить как это делается!

Ссылка на комментарий
Поделиться на другие сайты

HELP

Логической переменной t присвоить значение true или false в зависимости от того, является натуральное число R , не большее 100000, степенью целого N или нет.

Как это на паскале сделать?

Ссылка на комментарий
Поделиться на другие сайты

cudla

Насколько я понял, задание такое:

есть число N. Надо проверить, является ли число R степенью этого числа.

Первое, что пришло мне в голову. Прога написана "в лоб", но, вроде как, работает =)

{=================}

Program In_Power;

uses

Crt;

type

my = real;

var

R, N : my;

procedure Check(R, N : my);

var

t : boolean;

i : word;

Tmp: my;

begin {check}

t:= false;

if R = N then begin

writeln('R = N, R = N^1');

readln;

halt;

end;

if R = 1 then begin

writeln('R = 1, R = N^0');

readln;

halt;

end;

if N = 1 then begin

writeln('N = 1, ­не надо пытаться повесить программу!!!');

readln;

halt;

end;

i:= 1;

Tmp:= N;

repeat

inc(i);

Tmp:= Tmp*N;

if R = Tmp then begin

writeln('Чувак, тебе повезло!!! ',R:10:0,' = ', N:10:0,'^',i);

t:= true;

writeln('t = ',t);

readln;

halt;

end;

until Tmp >= R;

writeln(R:10:0, ' ­не степень ',N:10:0);

writeln('t = ',t);

readln;

halt;

end; {check}

{-------------------}

begin {In_Power}

clrscr;

write('Проверяемое число N = ');

readln(N);

write('Возможная степень числа ',N:10:0,', R = ');

readln;

Check(R, N);

end. {In_Power}

Изменено пользователем Stolik
Ссылка на комментарий
Поделиться на другие сайты

Попалась мне такая лаба на Паскале :Объединить две односвязные очереди Q1 и Q2 в одну упорядоченную по убыванию весов очередь Q. В принципе я представляю как ее сделать, только вот не знаю, что такое весы :) . Может кто-нибудь знает что это такое? :sm(100):

Ссылка на комментарий
Поделиться на другие сайты

cudla:

Более короткий, чем у Stolik'а, вариант:

var

t:Boolean;

M,R,N:LongInt;

begin

Writeln('Введите R и N, разделив их пробелом');

ReadLn(R,N);

M:=1;

repeat M:=M*N; t:=R=M until (M>100000) or (Abs(N)<2) or (Abs(N)>1000) or t;

WriteLn(t);

end.

Ссылка на комментарий
Поделиться на другие сайты

Тролль: ну как всегда, не могу найти слов чтоб выразить восторг перед твоими способностями, спасибо :g:

Ссылка на комментарий
Поделиться на другие сайты

Ребята,спасите!!!!! задали работу по информатике в паскале,а почти в нем ничего не знаю.нужно сделать часики,которые ходят и ровно в 8.00 начинают звенеть,что-то типа будильника,соответственно реальному времени,помогите,пожалуста,очень надо

Ссылка на комментарий
Поделиться на другие сайты

ALISKa_16

А можно поподробнее? Чего еще должна прога делать? Какие часы? Графические или циферок достаточно?

КарочЪ самый примитивный вариант ВОТ:

======================

Program Clock;

uses

Crt, Dos;

var

Hour, Minute, Second, S100 : word;

begin

clrscr;

repeat

window(1, 1, 80, 25);

GetTime(Hour, Minute, Second, S100);

writeln(Hour:2,' : ', Minute:2,' : ', Second:2);

if (Hour = 8) and (Minute = 0) then begin

window(1, 2, 80, 25);

writeln('Будильник будет звенеть ровно 1 минуту!');

Sound(1000);

delay(10000); {Этот параметр зависит от компа!}

NoSound;

clrscr;

end;

until KeyPressed;

end.

Ссылка на комментарий
Поделиться на другие сайты

killogramm:

Вес - число, сопоставленное элементу множества, часто просто его значение. Например, веса дуг в графе (наборе точек, соединенных линиями) - числа, характеризующие эти линии, это могут быть их длины, или стоимость или время перехода по этой линии от одной точки к другой, или еще какие-нибудь числа, надписанные над линиями.

Не совсем ясно, из чего состоят твои очереди. Скорее всего, требуется просто составить очередь, упорядоченную по убыванию величин элементов.

В общем случае в алгоритме используют, но не пишут функцию для сравнения элементов, а в пояснении к алгоритму пишут: сравнение элементов должно выполняться функцией с таким-то именем, параметрами которой служат два элемента и выдающей булевское значение true, если элемент в первом параметре имеет больший вес, чем во втором, и false, если это не так. Так делают при описании алгоритмов, но скорее всего, это слишком закрученный вариант для лабораторной работы.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...