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

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


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

springgirl:

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

const M=1; N=3*M; var a:array[1..N,1..N] of integer; i,j,c:integer; beginc:=10; for i:=1 to N do for j:=1 to N do begin a[i,j]:=c; c:=c+1 end;for i:=1 to N do begin for j:=1 to N do Write(a[i,j]:5); Writeln end;WriteLn;for i:=1 to M do for j:=2*M+1 to 3*M dobegin c:=a[i,j]; a[i,j]:=a[i+2*M,j]; a[i+2*M,j]:=c end;for i:=1 to N do begin for j:=1 to N do Write(a[i,j]:5); Writeln end;WriteLn; ReadLnend.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

48. Дана непустая последовательность слов из стpочных pусских букв; между соседними словами - запятая, за последним словом

- точка. Напечатать в алфавитном поpядке все глухие согласные буквы, котоpые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.

задачу №48, решить использую процедуры и функции.

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

var Mt,Mg:set of char; s:string; k:boolean; i:byte; procedure Out; var j:char;begin for j:='а' to 'я' do if j in Mg then Write(j) end;function Ne:boolean; begin Ne:=s[i]>'.' end; begink:=true; Mt:=[]; Mg:=['к','п','с','т','ф'..'щ']; ReadLn(s);for i:=1 to length(s) do if Ne then Include(Mt,s[i]) else begin if k then Mg:=Mg*Mt else Mg:=Mg-Mt; Mt:=[]; k:=not k end;Out; WriteLn; ReadLnend.

P.S.

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

var t:string; i,j,k,l:integer;beginReadLn(t); k:=0; l:=0; t:=t+' ';for i:=1 to Length(t) doif t[i]>='0' then begin k:=k+1; if t[i]='s' then l:=l+1 endelse begin if k<>0 then begin if l=1 then begin for j:=i-k to i-1 do Write(t[j]); WriteLn end;k:=0; l:=0 end;  end;WriteLn; ReadLn;end.

P.P.S. Вариант решения последней задачи на строку кода короче:

var t:string; i,k,l:integer;beginReadLn(t); k:=0; l:=0; t:=t+' ';for i:=1 to Length(t) doif t[i]>='0' then begin k:=k+1; if t[i]='s' then l:=l+1 endelse if k<>0 then begin if l=1 then WriteLn(Copy(t,i-k,k)); k:=0; l:=0 end; WriteLn; ReadLn;end.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

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

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

2. Выделить из текста целые числа,записанные в 6-ой системе счисления(считать, что они положительны и в тексте встречаются в виде отрицательных "слов") и перевести их в 10-ную систему счисления.

3. Исходный файл состоит из компонент вида:-вид обуви(ботинки,туфли,кроссовки,босоножки,сапоги)-тип(муж,жен,детская)-сезон,-размеры,-артикул,-стоимость.Отобрать инфо для летней детской обуви и упорядочить её по виду, а для одинакового вида по стоимости.

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

RAStAseLF:

Найти все глухие согласные, которых нет хотя бы в одном слове.(Вводится непустая строка из строчных букв, заканчивающихся точкой.Отдельные слова в ней разделены запятыми. Вывести на печать в алфавитном порядке. Задачу решить с массивом записей.)
Задача типа: "У одного мальчика было два яблока, у другого три. Сколько яблок было у обоих мальчиков? Решить с применением деления." :)

Записи тут нужны как коровам седла. Но раз требуют...

var s:string; i:byte; a,b:set of char; g:array [1..10] of record d:char end; begin s:='кпстфхцчшщ'; for i:=1 to 10 do g[i].d:=s[i]; a:=[]; b:=[#48..#255]; ReadLn(s);for i:=1 to length(s) do if s[i]<='.' then begin b:=b*a; a:=[] end else include(a,s[i]);for i:=1 to 10 do if not(g[i].d in b) then Write(g[i].d); WriteLn; ReadLnend.
Ссылка на комментарий
Поделиться на другие сайты

Вот еще две задачки. Помогите, пожалуйста, с решением.

48. Два треугольника заданы координатами своих вершин так, как указано в задаче 41. Определить, какой треугольник имеет больший периметр.

41. Даны действительные числа x[1..6], y[1..6]. Точки с координатами (x[1],y[1]),(x[2],y[2]),(x[3],y[3]) рассматриваются как вершины первого треугольника, точки с

координатами (x[4],y[4]),(x[5],y[5]),(x[6],y[6]) -

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

треугольник целиком содержится во втором, и если да,

определить площадь области, принадлежащей внешнему

треугольнику и не принадлежащей внутреннему.(Определить

процедуру, позволяющую выяснить, лежат ли две точки в

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

процедуру вычисления расстояния между двумя точками,

а также процедуру вычисления площади треугольника

по трем сторонам).

49.Ввести натуральное n, состоящее из записи цифрами 0,1,2 и 3. На выходе n должно быть таким, что вначале записи идут 0, затем 1,2 и 3. Напpимеp : 200131 —> 001123

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

NOOBER:

48:

var j:byte; x,y:array [1..6] of real; l1,l2:real;beginl1:=0; l2:=0; for j:=1 to 6 do begin Write('x[',j:1,']='); ReadLn(x[j]) end;for j:=1 to 6 do begin Write('y[',j:1,']='); ReadLn(y[j]) end;for j:=1 to 3 do l1:=l1+sqrt(sqr(x[j])+sqr(y[j]));for j:=4 to 6 do l2:=l2+sqrt(sqr(x[j])+sqr(y[j]));if l1=l2 then Write('=') else  if l1>l2 then Write('1') else Write('2');WriteLn; ReadLnend.

49:

var i,j,l:byte; t:char; s:string;beginReadLn(s); l:=length(s);for i:=1 to l do for j:=1 to l-i doif s[j]>s[j+1] then begin t:=s[j]; s[j]:=s[j+1]; s[j+1]:=t end; WriteLn(s); ReadLnend.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

springgirl:

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

const M=1; N=3*M; var a:array[1..N,1..N] of integer; i,j,c:integer; beginc:=10; for i:=1 to N do for j:=1 to N do begin a[i,j]:=c; c:=c+1 end;for i:=1 to N do begin for j:=1 to N do Write(a[i,j]:5); Writeln end;WriteLn;for i:=1 to M do for j:=2*M+1 to 3*M dobegin c:=a[i,j]; a[i,j]:=a[i+2*M,j]; a[i+2*M,j]:=c end;for i:=1 to N do begin for j:=1 to N do Write(a[i,j]:5); Writeln end;WriteLn; ReadLnend.

Спасибо за ответ и помощь!

Вы, кстати, первый кто сказал конкретно и уверенно, что в условии ошибка.

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

Нужна помощь. Попросили написать программу-тест на Delphi.

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

Помогите, пожалуйста ;)

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

. Дана непустая последовательность слов из стpочных pусских букв; между соседними словами - запятая, за последним словом

- точка. Напечатать в алфавитном поpядке все глухие согласные буквы, котоpые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.

Обьясните, пожалуйста, как решить эту задачу используя МНОЖЕСТВА???? :)

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

Darth Emil:

Писать программу целиком довольно долго, но сложного в принципе ничего нет. Создаем массив вопросов и ответов. Допустим, за каждым вопросом идут 5 ответов, потом следующий вопрос с ответами и так далее. Или, несколько удобнее для использования, для вопросника с n вопросами, двумерный массив q:array[1..n,0..5]of string , где 0 будет индексом строки с вопросом, а 1..5 - индексы строк с ответами. Правильный ответ мы всегда будем помещать на первое место среди ответов, то есть он всегда будет в строке с индексом 1. Выводим на экран вопрос и ответы, при этом ответы выводим не по порядку, а по сгенерированной перед выводом ответов случайной последовательности номеров (чтобы правильный ответ не был всегда первым на экране). Ждем ввода номера ответа на экране и находим по нему истинный номер выбранного ответа. Записываем его в массив номеров выбранных ответов (он нужен на случай жалоб, чтобы можно было потом указать на ошибки, если кто-то будет спорить). Затем выводим на экран следующий вопрос и ответы к нему и т.д.

Когда тест закончен, проходим по массиву номеров выбранных ответов. Распечатываем номера вопросов с правильными ответами (у правильных ответов истинный номер всегда 1) и номера вопросов с неправильными ответами (у них истинный номер не 1). По отношению количества правильных ответов к количеству вопросов выставляем оценку.

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

const t=5; var m:array [1..t] of integer; l,j,k:integer;beginfor j:=1 to t do m[j]:=j; randomize;for j:=t downto 1 do begin k:=random(j)+1;l:=m[k];m[k]:=m[j];m[j]:=l end;for j:=1 to t do Write(m[j]); WriteLn; ReadLnend.

(в массиве m при каждом выполнении этой демонстрационной программки получается перетасованный набор чисел от 1 до 5. Фактически тасование выполняется оператором for j:=t downto 1 ... )

Например, в массиве m получилось 3,2,5,1,4. Выводим на экран ответы 3-й,2-й,5-й,1-й,4-й. Тогда если на экране затем был выбран 4-й сверху ответ, значит, фактически был выбран ответ с истинным номером, равным m[4], то есть 1-й, верный (мы договорились, что верный ответ всегда первый в списке ответов для каждого вопроса).

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

Лучший путь - сделать сначала самый простой вариант, а потом постепенно его усложнять.

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

Тролль:

Спасибо конечно... Но я с массивами многомерными не дружу :)

Можно поподробнее? Я собираюсь на RadioButton'ы повесить варианты ответов...

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

Darth Emil:

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

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

P.S.

Вот тебе скелетик (работающий) на Турбопаскале.

program questionary;uses crt;const n=50; m=5;var q:array [1..n,0..m] of string[150]; f:text;i,j,l,v,w,r,k:integer; b:array [1..n] of boolean;p:array [1..m] of integer; u:array [1..n] of integer;beginTextbackground(blue); TextColor(yellow);for j:=1 to m do p[j]:=j;for i:=1 to n do u[i]:=i;Assign(f,'test.txt'); Reset(f); l:=0; w:=0; randomize; while not EOF(f) do begin l:=l+1; for j:=0 to m do ReadLn(f,q[l,j]) end;for i:=l downto 1 do begin r:=random(i)+1;v:=u[r];u[r]:=u[i];u[i]:=v end;for i:=1 to l do begin clrscr; delay(50000); WriteLn(q[u[i],0]); WriteLn; for j:=m downto 1 do begin r:=random(j)+1;v:=p[r];p[r]:=p[j];p[j]:=v end; for j:=1 to m do WriteLn(j,') ',q[u[i],p[j]]); WriteLn; Write('Nomer praviljnogo otveta? '); v:=Ord(ReadKey)-48; b[i]:=p[v]=1; end;for i:=1 to l do if b[u[i]] then w:=w+1;clrscr; WriteLn(' Praviljnih otvetov: ',w); ReadLnend.

Берет вопросы и ответы из файла test.txt (максимально 50 вопросов, хотя в файле их может быть и меньше, за каждым вопросом должно быть по 5 ответов, примитивный пример файла с таблицей умножения - в приложении). Естественно, внутри программы все это можно изменить заданием других значений констант. Порядок предъявления вопросов и вариантов ответов к каждому вопросу автоматически тасуется.

Ну а мясо (настройки и оформление) уже можно навешивать на скелетик по собственному вкусу.

test.txt

test.txt

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

  • 1 месяц спустя...

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

Понравилось название раздела. А вдруг действительно прокатит?

Сам я деревянный, возможно и вопрос будет смешным:

Есть у меня навигатор ТомТом. В самой программе есть функция планирования многоточечного маршрута, но вот функции его оптимирования нет. Т.е. навигация поведёт по точкам в том порядке, в котором заложил пользователь. Знаю, что есть программы (iGo и map&guide например), имеющие такую возможность. Вот я и подумал о двух вариантах:

1.Добавить в томтом эту функцию.

2.Добавить в пользовательское меню приложение с другой программой (важный момент: вроде как в «коробочке» томтом нет винда).

Заранее благодарен за ВСЕ ответы.

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

  • 2 недели спустя...

Кто сможет помочь?

Очень надо!

Нужна помощью тех кто хорошо разбирается в Access 2000.

Имеется Форма в которой задаётся определённый

пользователь и его пассворт, при нажатии кнопки

должена открытся другая Форма в которой

находятся данные только этого пользователя.

С VBA или Makro всёровно.

Заранее сапсибо!

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

Здравствуйте, нужна программа, вычисляющая Жорданову нормальную форму матрицы.

Язык - С++.

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

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

Rubin

Думаю можно реализовать, но сложновато.

Какие функции ты предполагаешь давать пользователю, после ввода личных данных?

П.с. 2000 аксес не стоит. Думаю там не сильно отличается от 2007, всмысле создании макросов.

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

Здравствуйте, нужна программа, вычисляющая Жорданову нормальную форму матрицы.

Язык - С++.

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

Пожалуйста, покажите алгоритм, попробую помоч

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

Спасибо что ктото откликнулся([Neic).

И так, Neic имеются 2 типа пользователей(Админ(Admin), и простой ползователь).

Админ имеет само-собой все права.

Простой узер (User), при внесении его логина и пассворта открывается форма(Formular) в которой

только его определённые данные, в которые он может внести, изменить и сохранить.

Так немного понятнее?

Если нет то пиши, буду рад любой помощи.

А Access 2000 или другая версия не важно. Так как это я думаю всё пишится в VBA.

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

  • 2 месяца спустя...

Привет.

Интересует, либо батник, либо утилитка, которая делала бы переконнект каждые 50мин.

Думаю, кто шарит в программировании, несложно будет написать.

Заранее спасибо.

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

Wu-Tang: Есть стандартная виндовая команда rasdial, думаю ее функционала должно хватить

пишем в батнике нечто вроде

rasdial имя_соединения /DISCONNECTrasdial имя_соединения имя_пользователя пароль

у тебя вообще соединение через что?

ну а дальше можно его либо стандартным планировщиком запускать, либо любым другим, либо вообще цикл в программе соорудить соорудить.

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

Maikll:

Это только разъединять будет, а мне то надо, чтоб разъединяла, соединяла, разъединяла, соединяла, каждые 50 минут.

rasdial ZyXEL ADSL Link /disconnectrasdial ZyXEL ADSL Link ptn ptn

Это данные соединения (ADSL).

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

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

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

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

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

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

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

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

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

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

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



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