Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

А где стандартное: "Здравствуйте, помогите решить"???

Суть в следующем: по правилу русского языка (и любого другого) все слова отделяются друг от друга пробелами (некий "пустой" символ, небольшое расстояние между словами, как правило всегда стандартное, на клавиатуре самая длинная кнопка (имеется в виду клавиатура стандартная на 102 кнопки)).

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

Собственно, вот тебе и решение

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 12 апр. 2008 3:04 | IP
RICHPERS



Новичок

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

Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 12 апр. 2008 13:38 | IP
KMA



Долгожитель

Все очень просто, юзаешь функцию такого типа:

Code Sample:
 
function trimSpaces(s: string): string;
begin
      while pos('  ', s) do
        delete (s, pos('  ', s), 1);
      trimSpaces:=s
end;



Просто применяешь ее к нужной тебе строке и все пробелы лишние исчезнут . Это далеко не самый оптимальный код, зато быстрый и работает. Да '  ' это ДВА пробела, а не один . И потом с одним пробелом ты уже задачу сможешь решить по описанному выше алгоритму

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 14 апр. 2008 23:38 | IP
RICHPERS



Новичок

паааасибаа=)))))))

Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 15 апр. 2008 7:24 | IP
Den 4 ik



Новичок

народ!кто сможет,помоготе пожалуйста!!!вроде просто но у меня не получается.в одномерном массиве выполнить упорядочение по возростанию.как?если еще одну переменную ввести,то распределяет только первые три числа

Всего сообщений: 6 | Присоединился: апрель 2008 | Отправлено: 16 апр. 2008 20:24 | IP
Serega1992


Новичок

Значит, в алгоритме есть какая-то ошибка. Отправляйте сюда своё решение, а потом уже будут сделаны выводы.
P.S. Вообще, в Интернете для таких типовых задач уже есть готовые решения, поищите.

Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 16 апр. 2008 21:13 | IP
RICHPERS



Новичок

хм....Здрасьте...Как ряд Фибоначчи сделать?=)...вообще никаких догадок нету...

Всего сообщений: 12 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 20:06 | IP
Den 4 ik



Новичок

помогите!!!я не могу понять где проблема.

var a:array[1..10] of integer;
i,p:integer;
begin
writeln('zapolnite matricy');
for i:=1 to 10 do
read(a[ i ]);
for i:=1 to 10 do
write(a[ i ]);
for i:=1 to 10 do
  begin
if a[ i ]>a[i+1] then
a[ i ]:=p;
p:=a[i+1];
a[i+1]:=a[ i ];
  end;
for i:=1 to 10 do
write(a[ i ]);
readln;
end.

тут у меня выводит заданый же масив и все.назад в программу нельзя вернуться.


(Сообщение отредактировал KMA 19 апр. 2008 23:02)

Всего сообщений: 6 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 21:03 | IP
Serega1992


Новичок

RICHPERS
Последовательность Фибоначчи:
var n,x,x1,x2,i:longint;
begin
writeln('Введите искомый член последовательности:');
readln(n);
x:=1;
x1:=1;
x2:=1;
for i:=3 to n do
begin
 x:=x1+x2;
 x1:=x2;
 x2:=x;
end;
writeln(x);
readln;
end.

Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 17 апр. 2008 22:12 | IP
westside



Новичок

Помогите пожалуста...Сам немогу составить..Надо сложить 3 задачи в одну программу,так чтоб пользователь сам выбрал что он хочет решить.Вот коды задачь.
1.Задача
uses crt;
var n : longint;
function arif(nn : longint) : longint;
begin
if (nn=0) or (nn=1) then arif :=1
else arif :=arif(nn-1)+2;
end;
begin
clrscr;
writeln('vedite n->');
readln(n);
writeln('A(',n,')=',arif(n));
readln;
end.

2.Задача.
uses crt;
var n : longint;
   k : integer;
function koren(i : longint) : integer;
var s : integer;
begin
   s :=0;
   repeat
   s :=s+ n mod 10;
   n :=n div 10
   until n=0;
   koren :=s
   end;
begin
clrscr;
writeln('vedite cheloe chislo->');
readln(n);
while n>9 do
n :=koren(n);
writeln('chyfrovoj korenj vvedennovo chisla =', n);
readln;
end.

3.Задача.
uses crt;
var a1,a2,a3,a4,x,y : integer;
function maximum(a,b : integer) : integer;
begin
 if a>b then maximum :=a else maximum :=b
 end;
begin
clrscr;
writeln('vedite chetyre chelyx chisla');
readln(a1,a2,a3,a4);
writeln('maksimalnoe iz nih',maximum(maximum(a1,a2),maximum(a3,a4)) );
readln;
end.

Помогите,позарез нузно.Заранее Большое спасибо.




Всего сообщений: 2 | Присоединился: апрель 2008 | Отправлено: 18 апр. 2008 1:27 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com