
17.02.2009, 23:05
|
|
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме: 3226894
Репутация:
379
|
|
вот помоги исправить задачу...нужно сделать так что бы из каждой очередной тройки букв удалить среднюю букву. Тип списка циклический.
А данная программа удаляет первую букву..а нужно что бы последнюю.
это паскаль
Uses Crt;
type
pSpisok = ^Slova;
Slova = Record
slv : string[10];
next : pSpisok
end;
var
Head1, Tail1, Head2, Tail2, Ptr1, Ptr2, Pysk1, Pysk2 : pSpisok;
St, Str : string[10];
F : text;
I, K, N : integer;
Name : string;
begin
ClrScr;
Writeln ('Fail dolgen sodergat slova, raspologennie postrochno');
Writeln ('Vvedite imya faila: ');
Readln (Name);
Assign (F, Name);
Reset (F);
Head1 := Nil;
Tail1 := Nil;
Head2 := Nil;
Tail2 := Nil;
ClrScr;
While not Eof(F) do
begin
Readln (F, St);
New (Ptr1);
Ptr1^.Slv :=St;
Ptr1^.Next := Nil;
If Tail1 <> Nil then
Tail1^.Next := Ptr1;
Tail1 := Ptr1;
If Head1 = Nil then
Head1 := Ptr1;
end;
Tail1^.Next := Head1;
Ptr1 := Head1;
Pysk1 := Head1;
repeat
Str := Ptr1^.Slv;
N := length(str) – 1 div 3;
If Str <> '' then K := 1;
for I := 1 to N do
begin
Delete (Str, K, 1);
K := K + 2;
end;
New (Ptr2);
Ptr2^.Slv := Str;
Ptr2^.Next := Nil;
If Tail2 <> Nil then
Tail2^.Next := Ptr2;
Tail2 := Ptr2;
If Head2 = Nil then
Head2 := Ptr2;
Pysk1 := Ptr1^.Next;
Ptr1 := Pysk1;
Until Pysk1 = Head1;
Tail2^.Next := Head2;
Pysk1 := Head1;
Pysk2 := Head2;
Ptr1 := Head1;
ptr2 := Head2;
repeat
Write (Ptr1^.Slv,' ');
Writeln (Ptr2^.Slv);
Pysk1 := Ptr1^.Next;
Pysk2 := Ptr2^.Next;
Ptr1 := Pysk1;
Ptr2 := Pysk2;
until Pysk2 = Head2;
repeat until KeyPressed;
End.
|
|
|

17.02.2009, 23:47
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме: 613745
Репутация:
51
|
|
Код:
Uses Crt;
type
pSpisok = ^Slova;
Slova = Record
slv : string[10];
next : pSpisok
end;
var
Head1, Tail1, Head2, Tail2, Ptr1, Ptr2, Pysk1, Pysk2 : pSpisok;
St, Str : string[10];
F : text;
I, K, N : integer;
Name : string;
begin
ClrScr;
Writeln ('Fail dolgen sodergat slova, raspologennie postrochno');
Writeln ('Vvedite imya faila: ');
Readln (Name);
Assign (F, Name);
Reset (F);
Head1 := Nil;
Tail1 := Nil;
Head2 := Nil;
Tail2 := Nil;
ClrScr;
While not Eof(F) do
begin
Readln (F, St);
New (Ptr1);
Ptr1^.Slv :=St;
Ptr1^.Next := Nil;
If Tail1 <> Nil then
Tail1^.Next := Ptr1;
Tail1 := Ptr1;
If Head1 = Nil then
Head1 := Ptr1;
end;
Tail1^.Next := Head1;
Ptr1 := Head1;
Pysk1 := Head1;
repeat
Str := Ptr1^.Slv;
N := length(str) - 1 div 3;
If Str <> '' then K := 1;
for I := 1 to N do
begin
Delete (Str, K+1, 1);
K := K + 2;
end;
New (Ptr2);
Ptr2^.Slv := Str;
Ptr2^.Next := Nil;
If Tail2 <> Nil then
Tail2^.Next := Ptr2;
Tail2 := Ptr2;
If Head2 = Nil then
Head2 := Ptr2;
Pysk1 := Ptr1^.Next;
Ptr1 := Pysk1;
Until Pysk1 = Head1;
Tail2^.Next := Head2;
Pysk1 := Head1;
Pysk2 := Head2;
Ptr1 := Head1;
ptr2 := Head2;
repeat
Write (Ptr1^.Slv,' ');
Writeln (Ptr2^.Slv);
Pysk1 := Ptr1^.Next;
Pysk2 := Ptr2^.Next;
Ptr1 := Pysk1;
Ptr2 := Pysk2;
until Pysk2 = Head2;
repeat until KeyPressed;
End.
Вот, удаляет среднюю букву из каждой тройки, попробуй.
|
|
|

18.02.2009, 18:26
|
|
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме: 3226894
Репутация:
379
|
|
Сообщение от lll6
Код:
Uses Crt;
type
pSpisok = ^Slova;
Slova = Record
slv : string[10];
next : pSpisok
end;
var
Head1, Tail1, Head2, Tail2, Ptr1, Ptr2, Pysk1, Pysk2 : pSpisok;
St, Str : string[10];
F : text;
I, K, N : integer;
Name : string;
begin
ClrScr;
Writeln ('Fail dolgen sodergat slova, raspologennie postrochno');
Writeln ('Vvedite imya faila: ');
Readln (Name);
Assign (F, Name);
Reset (F);
Head1 := Nil;
Tail1 := Nil;
Head2 := Nil;
Tail2 := Nil;
ClrScr;
While not Eof(F) do
begin
Readln (F, St);
New (Ptr1);
Ptr1^.Slv :=St;
Ptr1^.Next := Nil;
If Tail1 <> Nil then
Tail1^.Next := Ptr1;
Tail1 := Ptr1;
If Head1 = Nil then
Head1 := Ptr1;
end;
Tail1^.Next := Head1;
Ptr1 := Head1;
Pysk1 := Head1;
repeat
Str := Ptr1^.Slv;
N := length(str) - 1 div 3;
If Str <> '' then K := 1;
for I := 1 to N do
begin
Delete (Str, K+1, 1);
K := K + 2;
end;
New (Ptr2);
Ptr2^.Slv := Str;
Ptr2^.Next := Nil;
If Tail2 <> Nil then
Tail2^.Next := Ptr2;
Tail2 := Ptr2;
If Head2 = Nil then
Head2 := Ptr2;
Pysk1 := Ptr1^.Next;
Ptr1 := Pysk1;
Until Pysk1 = Head1;
Tail2^.Next := Head2;
Pysk1 := Head1;
Pysk2 := Head2;
Ptr1 := Head1;
ptr2 := Head2;
repeat
Write (Ptr1^.Slv,' ');
Writeln (Ptr2^.Slv);
Pysk1 := Ptr1^.Next;
Pysk2 := Ptr2^.Next;
Ptr1 := Pysk1;
Ptr2 := Pysk2;
until Pysk2 = Head2;
repeat until KeyPressed;
End.
Вот, удаляет среднюю букву из каждой тройки, попробуй.
блин идиот...я искал эту строчку но не нашел..)))
думал еще как же программа удаляет без этого действия....тупица)))лови + помог найти!
|
|
|

18.02.2009, 18:32
|
|
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме: 3226894
Репутация:
379
|
|
С паскалем разобрался..
плз напишите програмку в Делфи...то для меня это темный лес...
Вычислить площадь плоской фигуры, заключенной между дугами кривых:
y(x)=-Ln(x) и y(x)=R-x
При каком значении R площадь этой фигуры не превышает единицы.
|
|
|

18.02.2009, 23:07
|
|
Новичок
Регистрация: 10.06.2008
Сообщений: 3
Провел на форуме: 10293
Репутация:
0
|
|
Algol
Спасибо огромное за старание!!! Но есть маленькая проблемка... я ещё 1 курс и классы мы не проходили  можно это какнить переписать более просто.. через массивы, циклы и т.д. спс!
|
|
|

19.02.2009, 21:13
|
|
Новичок
Регистрация: 17.05.2007
Сообщений: 25
Провел на форуме: 443797
Репутация:
7
|
|
Срочно нужна помощь
Нада на Visual C++
1. Введите одномерный целочисленный массив А.
2. В массиве дважды произвести циклический сдвиг влево всех элементов,
предшествующих максимальному из нечетных.
3. Вывести полученный массив.
c меня +
|
|
|

20.02.2009, 17:50
|
|
Участник форума
Регистрация: 23.05.2007
Сообщений: 103
Провел на форуме: 380957
Репутация:
56
|
|
у кого есть исходник простого теста на С++? 2 вопроса и у каждого по 2 варианта ответа...после чего программа считывает правильные ответы и ставит кол-во баллов
|
|
|

20.02.2009, 18:21
|
|
Новичок
Регистрация: 10.12.2008
Сообщений: 2
Провел на форуме: 14817
Репутация:
0
|
|
Уважаемые форумчане, помогите написать курсовую на паскале бедному студенту...пожалуйста.
Курсовая работа по курсу "Информатика"
ЗАДАНИЕ:
Написть программу по обслуживанию базы данных. программа олжна включать:
1. Вод данных (как пероначальные- создание БД, так и дозапись)
2. Вывод данных на экран (в виде таблицы)
3. Поиск записи по ключу (первому полю)
4. Корректировка записи по ключу (всех полей)
5. Сортировка данных по второму полю методом пузырька
6. Поиск максимального или минимального элемента по четвертому полю
7. Файл для хранения БД должен быть типизированным.
к примеру нужно создать базу данных телефонных номеров (номер телефона, фио абонента, город, дата регистрации)
Последний раз редактировалось Bye_13; 20.02.2009 в 18:50..
|
|
|

20.02.2009, 19:00
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме: 613745
Репутация:
51
|
|
Помочь или написать полностью за тебя? Если второе, то много писанины, а если первое, то давай наработки.
|
|
|

20.02.2009, 19:14
|
|
Новичок
Регистрация: 10.12.2008
Сообщений: 2
Провел на форуме: 14817
Репутация:
0
|
|
Сообщение от lll6
Помочь или написать полностью за тебя? Если второе, то много писанины, а если первое, то давай наработки.
помочь. наработок пока особых нет правда...
Я вот чего не помню...как создать и забить текстовый документ и как его "дозаписывать"
как выводить данные на экран в виде таблицы?
как понимать "методом пузырька"?
и по какому принципу должен быть типизирован файл хранения бд.
просто нихрена препод не объяснил нормально- лишь задание выдал, а дальше делайте ребята, что хотите...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|