Здравствуйте, roman! Енто никуда не годится! Школьники учиться вроде закончили, в универах такие задачки не задают... Остаётся только удивляться. Посему пишу только значимые части программ. Если уж Вы не сможете опосля соорудить программку, то двойку Вам заслуженную!
Приложение: Ответ отправлен: 09.06.2004, 22:03 Отправитель: Strory Отвечает Ayl
Здравствуйте, roman! Не, ну блин! Не поверю, что это все одно задание! А в семестре чем занимался? 1. Элементарно. Используй функции Pos (найти вхождение подстроки в строку), Delete (удалить из строки c заданной позиции заданное число символов) и Insert (вставить подстроку в строку с заданной позиции). 2. То же ничего сложного. В двойном цикле перебираешь все элементы массива. 3. Чуть сложнее. Тебе нужно добавлять элементы к сумме до тех пор, пока очередной член последовательности не станет меньше заданной точности. Подсказка: A(n) = A(n-1)/n, A(1) = 1. 4. Одним пробелом или несколькими может быть? Если ровно одним пробелом, то проще всего подсчитать кол-во пробелов в строке, число слов будет на 1 больше. Если может быть несколько подряд пробелов, то тебе нужен флаг, показывающий, находишься ты в слове или вне слова. Алгоритм тогда такой: 1. Флаг
= 0 2. Пока символ строки = пробел взять следующий символ 3. Флаг = 1, Счетчик слов = Счетчик слов + 1 4. Пока символ строки не пробел взять следующий символ 5. Если строка не закончилась, то перейти к п.1 6. Вывести Счетчик слов
5. Используй Pos и Delete. 6. См. алгоритм для 4-го задания. Тебе здесь не нужен флаг и счетчик слов. Просто ищешь первый пробел за первым словом и вырезаешь из строки все, что до него. Т.е. в п.5 не нужно переходить снова к п.1, а просто удалить до текущей позиции. 7. Какие условия для X? Скорее всего, диапазон и шаг. Формируешь цикл по X и для каждого вычисляешь Sin (x). Остается сформировать аккуратно отображение таблицы на экране. Кстати, если X тебе задан в градусах, то его нужно сначала перевести в радианы. 8. То же, что и 7, но только не забудь проверять на то, что Y != 0 9. Возьми любой алгоритм сортировки
и вставь в свою программу. Например, пузырьковую сортировку. Только здесь тебе нужна функция, которая сравнивает 2 строки и выдает один из трех вариантов сравнения: первая строка меньше, чем вторая; строки равны; первая строка больше, чем вторая. Если могут использоваться и русские буквы, то надо еще дополнительно писать и сравнение по русскому алфавиту. 10. Элементы на главной диагонали определяются тем, что оба индекса у них совпадают. А так задача даже проще, чем 9-я. Реализуй то, что я тебе написал и если возникнут вопросы - тогда спрашивай. А проги за тебя никто писать просто так не будет. Ответ отправлен: 09.06.2004, 17:40 Отправитель: Ayl Отвечает sir henry
Приветствую Вас, roman! Вы вообще не знаете, как это делается? В таком случае программирование Вам не поможет :). Ответ отправлен: 09.06.2004, 16:27 Отправитель: sir henry Отвечает Boriss
BLIN! roman с маленькой буквы! Учись, все Ваши задания - ерунда, недостойная внимания. Кроме того, на подобные вопросы были ответы. Посмотрите в архиве рассылки Если лень, то шлите дельное предложение, а лучше, заплатите учителю
Ответ отправлен: 09.06.2004, 16:31 Отправитель: Boriss Отвечает rmf
Приветствую Вас, roman! Вот, несколько ответов... Program P1; var c1, c2:char; s:string; i:byte; begin WriteLn('Введите строку:'); ReadLn(s); Write('Введите какой символ заменить: '); ReadLn(c1); Write('Введите на какой символ заменить: '); ReadLn(c2); for i:=1 to length(s) do if s[i]=c1 then s[i]:=c2; WriteLn('Измененная строка:'); WriteLn(s); ReadLn; end. Program P4; var s:string; i, kol:byte; begin kol:=0; WriteLn('Введите строку:'); ReadLn(s); for i:=1 to length(s) do if s[i]=' ' then inc(kol); Write('Всего слов: ', kol+1); ReadLn; end. program p5; var s, frag:string; i:byte; begin WriteLn('Введите строку:'); ReadLn(s); WriteLn('Введите фрагмент:'); ReadLn(frag); repeat
i:=pos(frag, s); if i>0 then delete(s, i, length(frag)) until i<1; WriteLn('Измененная строка: '); WriteLn(s); ReadLn; end. Program p6; var s:string; i:byte; begin i:=0; WriteLn('Введите строку:'); ReadLn(s); repeat inc(i); if s[i]<>' ' then s[i]:=chr(8); {chr(8) - это пустой символ} until s[i]=' '; WriteLn('Измененная строка: '); WriteLn(s); ReadLn; end. Program P2; var i, tmp, n, j:byte; arr:array [1..3, 1..3] of byte; begin i:=0; for j:=1 to 3 do for n:=1 to 3 do begin Write('Введите столбец ', j, ', строку ', n, ' : '); ReadLn(tmp); arr[j, n]:=tmp; i:=i+tmp; end; WriteLn('Total - ', i); ReadLn; end. Насчет №10,скажи что такое главная диоганаль, и
я решу её...:) Насчет №3, чёт я не понял, как её вычислить, если она бесконечная??? Насчет №7, енто что, вместо X, подставлять любые числа??? Насчет №8, тоже самое что и 7??? Насчет №2, вроде это... хотя я не совсем понял... Ответ отправлен: 09.06.2004, 18:43 Отправитель: rmf
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.