Люди помогите пожалуйста написать программу на паскале |
|
Здравствуйте, гость ( Вход | Регистрация )
Люди помогите пожалуйста написать программу на паскале |
4.4.2007, 17:16
Сообщение
#21
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Здравствуйте!
Помогите пожалуста написать программу. В данном предложении (string) выбрать слово, в котором доля гласных ( a,e,u,o) максимально и вывести его на экран. Если можно напишите ее без подпрограмм. Это вообще типа лабораторка по стрингам ) по идее подпрограммы мы еще не проходили ) заранее спасибо |
|
|
5.4.2007, 7:57
Сообщение
#22
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Думаю, переделать сможешь
Задание: Дан текст. Найти все слова, содержащие наибольшее количество гласных русских букв. function _GetCountStrSymbol(s:string):string; var i,ii,_i_buf,_i_max:integer; _b:boolean; _i:integer; begin _b:=false; result:=''; _i:=0; s:=s+' '; _i_max:=0; for i:=1 to length(s) do begin if _b then begin _b:=false; if s[i]< > ' ' then _i:=i; end; if s[i]=' ' then begin _b:=true; _i_buf:=0; for ii:=_i to i-1 do if (s[ii]in ['а','о','у','е','ы','э','я','ю','ё','и', 'А','О','У','Е','Ы','Э','Я','Ю','Ё','И']) then _i_buf:=_i_buf+1; if _i_max < _i_buf then _i_max:=_i_buf; end; end; _b:=false; _i:=0; for i:=1 to length(s) do begin if _b then begin _b:=false; if s[i]< > ' ' then _i:=i; end; if s[i]=' ' then begin _b:=true; _i_buf:=0; for ii:=_i to i-1 do if (s[ii]in ['а','о','у','е','ы','э','я','ю','ё','и', 'А','О','У','Е','Ы','Э','Я','Ю','Ё','И']) then _i_buf:=_i_buf+1; if _i_max=_i_buf then result:=result+copy(s,_i,i-_i)+', '; end; end; end; procedure T_Form.Button1Click(Sender: TObject); begin L_2.caption:=''+(_GetCountStrSymbol(edit1.Text)); end; |
|
|
7.4.2007, 13:32
Сообщение
#23
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Cпасибо большое!!
вот что в итоге получилось после редактирования. Кстати объясните пожалуста роль булевской переменной зачем она вообще нужна в этой программе... а то я фтыкал фтыкал так и не понял суть алгоритма. program p; uses crt; var s,result:string; i,ii,buf,max:integer; b:boolean; _i:integer; begin clrscr; b:=false; result:=''; _i:=0; max:=0; writeln('vvedite predlojenie: '); readln(s); for i:=1 to length(s) do begin if b then begin b:=false; if s[i]<> ' ' then _i:=i; end; if s[i]=' ' then begin b:=true; buf:=0; for ii:=_i to i-1 do if (s[ii]in ['a','e','u','o','A','E','U','O']) then buf:=buf+1; if max < buf then max:=buf; end; end; b:=false; _i:=0; for i:=1 to length(s) do begin if b then begin b:=false; if s[i]<> ' ' then _i:=i; end; if s[i]=' ' then begin b:=true; buf:=0; for ii:=_i to i-1 do if (s[ii]in ['a','e','u','o','A','E','U','O']) then buf:=buf+1; if max=buf then result:=result+copy(s,_i,i-_i)+' '; end; end; writeln('slovo soderjashee naibolishee kolli4estvo bukv a,e,u,o:'); writeln(result); readkey; end. |
|
|
7.4.2007, 19:35
Сообщение
#24
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
_b:boolean; нужно для разбора строки на слова (попробелам), оно нужно, чтобы подряд несколько пробелов учесть. Слово выделяется от _i до i, а _i выставляется когда _b:=true, а _b:=true когда текущий символ пробел т.е. когда появляется первый пробел, _i=i, если следующий символ опять пробел, то опять _i=i, и далее по циклу.
|
|
|
7.4.2007, 20:10
Сообщение
#25
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Ууух... прикольно... У меня кстати была мысль как разбиьт строку на слова. Если объявить переменную s:array[1..50] of string; потом из стринга в каждый элемент массива перенести солова. Только вот тут встал вопрос. Как пробежать циклом по всему слову в элементе массива?
Вобщем спасибо за решение, вы мне очень помогли ) |
|
|
7.4.2007, 22:25
Сообщение
#26
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
пжалста
по массиву - s[номер строки][номер символа в строке] (от 1 начинается) for i:=1 to lenght(s[num]) do s[num][i]:='1'; |
|
|
11.4.2007, 10:56
Сообщение
#27
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Люди кричу о помощи! Помогите написать программу.
1. Разработать программу для вычесления значений заданной функции. Значение аргумента вводится с клавиатуры. 2. Разработать программу для вычесления значений заданной функции. Вводится с клав. Вычесления производить с точностью до эпсилон. И сравнить точность работы разработанной программы со стандартной функцией Pascal. 3. Разработать программу для работы с двухмерной матрицей. Ввод матрицы с кла, ввод исходной и полученной матриц на экране, а так же агоритм обработки, соответствующий заданию, выполнить в виде отделных процедур. 1.- y=m+2+1/m-3; m+2 под корнем и корень в кубе 2. Ln(x+1)=дальше закарючка как тройка только в другу сторону над ней бесконечность а снизу n=0 (-1)в степени n умнож. на x в степени n+1 и все это / на n+1 и это = x - x в квадр. /2!+x в кубе/3!+x в четвертой/4!+...., -1<x<_1, эпсилон=10в степени -3. 3. Произвести перестановку строк квадратной матрицы размерности n*n так что бы столбец с номером m был упорядочен по возрастанию. Номер строки m вводится с клавиатуры. |
|
|
11.4.2007, 22:42
Сообщение
#28
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
O.C. по первым двум рисуй в ворде формулу, делай скриншот и пости сюда.
по третьей: procedure SortArray(var in_A,out_A:TStringgrid; num:integer); var st:tstringlist; i,ii:integer; PL:pPl; begin st:=Tstringlist.Create; try for i:=0 to in_a.RowCount-1 do begin New(PL); PL.text:=in_a.Cells[num,i]; PL.num:=i; st.AddObject(PL^.text, TObject(PL)); end; st.Sort; for i:=0 to st.Count-1 do begin for ii:=0 to in_a.ColCount-1 do begin out_A.Cells[ ii,i ]:=in_a.Cells[ii, pPl(st.Objects[ i ])^.num ]; end; end; finally for i:=0 to st.Count-1 do begin PL:=pPl(st.Objects[i]); Dispose(PL); end; st.Free; end; end; использовать так - SortArray(StringGrid1,StringGrid2,1); где StringGrid1 входной, StringGrid2 выходной |
|
|
16.4.2007, 20:58
Сообщение
#29
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Ну формулы я написала, а что дальше они не вставляются?
|
|
|
16.4.2007, 23:18
Сообщение
#30
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
щелкай "расширенная форма", под полем ввода, и там должна быть кнопочка "добавить файл".
|
|
|
16.4.2007, 23:56
Сообщение
#31
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
O.C.
Функция прикрепления файлов появляется после написания 151-го поста. До этого момента можно залить картинку на какой нибудь хостинг и уже потом постить здесь линк. Например здесьздесь:
|
|
|
17.4.2007, 17:06
Сообщение
#32
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
2. Ln(x+1)=дальше закарючка как тройка только в другу сторону над ней бесконечность а снизу n=0 (-1)в степени n умнож. на x в степени n+1 и все это / на n+1 и это = x - x в квадр. /2!+x в кубе/3!+x в четвертой/4!+...., -1<x<_1, эпсилон=10в степени -3. Девушка, ну я понимаю что вы не знаете что такое ряд Тейлора, но знак суммы ряда не знать.. Я в шоке. |
|
|
17.4.2007, 20:16
Сообщение
#33
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
эээ... я так понимаю, функцию нужно немного упростить?
вы мне как программеру скажите, что куда подставлять, что нам известно и какая формула, я же не математик :D |
|
|
24.5.2007, 22:49
Сообщение
#34
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Помогите плз срочна надо написать прогу на TP
описание: Функция f с натуральными аргументами и значениями определена так : f(0) = 0, f(1) = 1, f(2n) = f(n), f(2n+1) = f(n) + f(n+1). Составить программу вычисления f(n) по заданному n. или хотябы подскажите чё тут вообще делать по даной функции. |
|
|
17.3.2008, 17:28
Сообщение
#35
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
помогите набрать эту задачу на турбо паскале.
Надо создать програму,которая содержит сведения о процесорах(модель,тактовая частота,стоимость).Ввывести информацию о процесорах,стоимость которых не превышает суммы, вводимой пользователем,упорядочив их по возрастанию частоты.Вывести на экран модель и тактовую частоту наилучшего из подходящих по стоимости процессоров. |
|
|
29.3.2008, 19:14
Сообщение
#36
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Paskal(_!_) каких процессоров? Всех существующих? Или только определённых? В любом случае, нужно будет их сначала забивать в прогу. Я так понимаю, всего 3 параметра? Модель, тактовая частота, стоимость?
Конкретизируйте задачу, и вам воздастся. |
|
|
9.4.2008, 22:37
Сообщение
#37
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Пожалуста, помогите решить простенькую задачу.
Даны первый и n-й члены арифметической прогрессии. Вычислить произведение членов прогрессии с нечетными индексами. Или хотя бы обьясните, что тут нужно сделать? Оч прошу,я не понимаю! |
|
|
10.4.2008, 14:09
Сообщение
#38
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
ну на вскидку примерно так
что такое арифметическая прогрессия наверное ясно? про шаг ничего не сказано, значит он равен еденице. Если грубо - можно сделать цикл for to do от начала до n, там шаг как раз еденица, и проверять счетчик цикла - если он нечетный (не делится на 2 без остатка, например через mod или div, как понравится) то складывать его с результирующей переменной. |
|
|
10.4.2008, 20:58
Сообщение
#39
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
antonn , спасибо. А почему шаг равен единице? может имеется ввиду, для любого вида прогрессии?
|
|
|
10.4.2008, 22:57
Сообщение
#40
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
ну если шаг не равен еденице значит сделать через цикл while..do, просто я по умолчанию понял как еденицу
|
|
|
Текстовая версия | Сейчас: 29.4.2024, 19:56 |