PDA

Просмотр полной версии : Очччень нужна помощь в паскале


Тарифы: МТС, Билайн, МегаФон
Выгодные непубличные тарифы МТС, Билайн, МегаФон, Безлимитный интернет ✅
Princessa_Tanya
11-05-2004, 16:37
Задача:
задан массив из 3-х строк. В каждой строке "фамилия_стаж_зарплата". В каждой строке стаж увеличить на год. Если он станет равным 10, то зарплату увеличить в 2 раза, а если 15 - то в 3 раза.
Я сделала только для одной строки, а как запихать все это в цикл не знаю...
Если не перевелись еще на Руси умные люди, помогите, плиз!!!

Grey Diver
11-05-2004, 16:50
For i:=1 to n do
begin
.....
end;

GreenTe@
11-05-2004, 17:01
ага ага :)

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

GreenTe@
11-05-2004, 17:57
Или другими словами :)
Begin
For j:=1 to n (кол-во строк) do
begin
(тут пишешь свой текст, который для строки)
end

и все... усе гениальное просто...

Носки В Полоску
12-05-2004, 17:22
Гы)))) НАРОД!!! ПОМГИТЕ НАПИСАТЬ ПРАГРАММУ "HELLO WORLD!!!"... :D :D :D

LaGrange
12-05-2004, 17:34
Гы, сынок, лол (c).
Пальцы все кидать умеют, а вот работающий код еще никто не предложил.
:D

Карла Маркса
12-05-2004, 17:53
Пускай сначала для одной строки выложит :).

Носки В Полоску
12-05-2004, 18:05
for i:=1 to 3 begin
a[i,2] := a[i,2] + 1;
if (a[i,2]>=10 and a[i,2]<15) begin
a[i,3] := a[i,3]*2;
{Другие интересные операторы}
end;
if (a[i,2]>=15) begin
a[i,3] := a[i,3]*3;
{Другие интересные операторы}
end;
end;

где a - ентот массив, i - integer,

GreenTe@
12-05-2004, 18:25
не мля так не покатит! цифекри нана менять чеб нормальный массив был - двухмерный, мож больше понадобиться строк... (это по научному тыпа)

Карла Маркса
12-05-2004, 18:36
Задача:
задан массив из 3-х строк. В каждой строке "фамилия_стаж_зарплата". :)

Носки В Полоску
12-05-2004, 18:57
2GT: Цифири в начале цикла поменяй, и буит тебе нужно количество итераций...

2КМ: Шо ви ентим хотели сказать???

Носки В Полоску
12-05-2004, 19:03
for i:=1 to 3 begin // кол-во строк задается тут
a[i,2] := a[i,2] + 1; // увеличиваем на 1 стаж (исходя из задания)
if (a[i,2]>=10 and a[i,2]<15) begin // еси стаж больше или равен 10 но меньше 15 умножаем оклад на 2
a[i,3] := a[i,3]*2;
{Другие интересные операторы}
end;
if (a[i,2]>=15) begin // если стаж больше или равен 15 то умножаем оклад на 3
a[i,3] := a[i,3]*3;
{Другие интересные операторы}
end;
end;

Массив вида:

ФИО1 | стаж1 | оклад1
------------------------------
ФИО2 | стаж2 | оклад2
------------------------------
ФИО3 | стаж3 | оклад3

шо вам тут не нравится???

GreenTe@
12-05-2004, 19:04
Браза, не первый год этой мутью занимамся знам че по чем... :)

P I L 0 T
12-05-2004, 19:19
вар надо написать, а то не разберется же ребенок :)

const
n=3;
m=3;
var
i:integer;
a:array[n,m] of real;{вроде так массив прописывается}

Носки В Полоску
12-05-2004, 19:21
процитирую : "Пальцы все кидать умеют, а вот работающий код еще никто не предложил. "

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

printf "Hello world";))

Носки В Полоску
12-05-2004, 19:24
не, real, тут не покатит, у нас же первый столбец строковый(Фио)))

GreenTe@
12-05-2004, 19:29
там вообщето так должно быть
a:array [1..10,1..10] of real
помоему если писать буквы виснет

Носки В Полоску
12-05-2004, 20:07
ага праильно.
теоретически он должен выкинуть что то типа "несоответствие типов"...

GreenTe@
12-05-2004, 20:26
Тоже давно дело было :) последнее время Delphi все, но его со временем забывашь :) :(

LaGrange
12-05-2004, 20:38
Princessa_Tanya

с тебя пиво, смотри какие дебаты развернулись после моего поста ;)

lofty
12-05-2004, 20:41
[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
importlib("actimp.tlb");
importlib("actexp.tlb");

#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{

importheader(<windows.h>);
importheader(<ole2.h>);
importheader(<except.hxx>);
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};


#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};


#include <windows.h>
#include <ole2.h>
#include <stdio.h>
#include <stdlib.h>
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}


CHello::~CHello(void)
{

cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include <windows.h>
#include <ole2.h>
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

WaitForSingleObject(hEvent, INFINITE);

CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include <windows.h>
#include <ole2.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {


hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

CoUninitialize();
}

return(0);
}

Носки В Полоску
12-05-2004, 20:43
Енто праильно))) Код не рабочий - демо версия)))) Полная версия только после отпаивания пивом))) Паскаль - фикня) Чес слово сидел ща и фспоминал, шо когда то я и на нем писал... щас все больше Си, Жаба да Перл...

Носки В Полоску
12-05-2004, 20:45
2 Lofty: енто шо???)))

LaGrange
12-05-2004, 20:56
фигасе ты монстр, я только на Си могу более менее писать, на перле - только маленькие скрипты или шаблонные проги..

тебе не впадлу было сидеть, вспоминать? Танюша пивом вряд ли угостит ))) Уж лучше б погулял, полезнее для здоровья ;)

Носки В Полоску
12-05-2004, 21:41
Вспоминать не в падлу) Хотя было бы лениво еси бы не одно НО! Када наткнулся на сабж вдруг понял что паскаль я знаю, но не помню!!! И с понтом дела все таки попробовал че то вспомнить... руки сами тянулись вместо begin ... end; поставить {...}... так шта не жалко, хоть что то вспомнил из студентческой молодости...

P I L 0 T
12-05-2004, 22:00
Ес не реал, через интегер, тогда нужна все переменные округлять до целых(не помню как - давно было...)

LaGrange
12-05-2004, 22:05
а я-то думал что ты студент.

lofty
13-05-2004, 00:47
енто HELLO WORLD на c(pp)

Anonymous
13-05-2004, 00:50
чёт много очень... :rolleyes:

Носки В Полоску
13-05-2004, 01:11
да я уж понял... где то я видел это... хм...

вот ресурсик нашел недавно) интересная весчь - примеры программы Hello World (Hallo Welt - нем.) на разных языках: http://www.madeasy.de/7/hallowelt.htm (правда все на немецком)

А вот полный текст статьи, которую цитировали выше:

Средняя школа:
Первый курс в колледже
Не первый год в колледже
Молодой специалист
Профессионал
Специалист высокого уровня
Начинающий хакер
Продвинутый хакер
Опытный хакер
Хакер Гуру!
Программист AXE System
Программист сверхвысокого уровня
Менеджер нижнего звена
Менеджер среднего звена
Старший менеджер
Шеф

Golf
13-05-2004, 11:57
М-да, народ, вижу вам тут делать нечего. Ну раз так, может кто подумает как изменить заголовки сервера, которые он прицепляет к css файлам, не залазия ессно в настройки сервера.
Обычным хидером из основного скрипта не канает, сразу говорю.

Носки В Полоску
13-05-2004, 19:37
RTFM мой друг, RTFM :D

Golf
13-05-2004, 20:52
На какой странице RTFM описаны действия в этой конкретной ситуации ?
Нет не RTFM. Короче, ларчик просто открывался(особенно после бутылочки пива :) ): заставить сервер обрабатывать css-файл как скрипт(см. RTFM) и писать в него какие угодно заголовки(см. RTFM)

Носки В Полоску
14-05-2004, 10:38
Хе))) А после десяти-пятнадцати бутылочек пыва можно и стихи на ассемблере писать)))

Кстати, ты ж писАл что "не залазия в настройки сервера"... как же ты посе ентого заставишь сервер обрабатывать *.CSS как скрипт??? На Win платформе???

Golf
14-05-2004, 11:50
Есть как минимум три способа, но в третьем я не уверен:
1)самый простой: изменить расширение css на расширение скрипта
2)mod_rewrite - это вариация на тему первого способа
3)не уверен-не пробовал. Прописать в .htaccess новый add type
Как видиш от платформы здесь мало что зависит, и в настройки лезть не надо.

Princessa_Tanya
14-05-2004, 11:51
Пасиба бальшая всем, кто ответил мене!!!! Я сама допендрила, как сделать эту задачу!!!!!

Golf
14-05-2004, 11:54
Ты эта.. заходи, если что :)

Носки В Полоску
14-05-2004, 12:25
1. Странноватый способ, в некоторых конфигурациях недееспособен...
2. Более жизнеспособный вариант
3. А еси htaccess запрещен? Частенько такое бывает.

А от платформы многое зависит... например исполняемый аттрибут в юнихе - весчь хорошая... в виндах такого нету, а значит некоторые варианты сами собой отпадают...

Princessa_Tanya
14-05-2004, 13:09
Ребя!!!!! У меня новая проблема. У меня в чатах смайлики НЕ ШЕВЕЛЯТСЯ. Я в ЯРОСТИ! В настройках експлоера в мультимедии стоит галочка воспроизводить анимацию. Больше не знаю че делать. Очень нужна HELP!!!

Princessa_Tanya
14-05-2004, 13:12
Скажите, плиз, как под ником вставить малюсенькую такую картиночку
<--- вот тама, слева
заранее, пасиба.

Golf
14-05-2004, 16:19
Я у себя эту проблему решил и тем счастлив. Вот когда начнутся "некоторые конфигурации" и "если", там и будем посмотреть. А пока все прелестно работает и на локалке под win и у хостера под unix. На этом вопрос для себя считаю закрытым

Носки В Полоску
15-05-2004, 19:39
Статус мембера и топаешь в настройки->Настройки->Изменить аватар

2Golf: Ну когда все работает - енто замещательно) Но исходя из собственного опыта первый предложенный тобой вариант работает в некоторых случаях некорректно...

Princessa_Tanya
18-05-2004, 16:28
Как написать задачу, которая проверяет является ли данное слово палиндромом? Проверку на паландромность записать в виде процедуры.
P.S. палиндром - это слово, которое читается справа налево одинаково. Заранее спасибо...

Princessa_Tanya
18-05-2004, 16:31
[QUOTE]Послано Носки В Полоску
[B]Статус мембера


А как получить статус мембера? Надо определенное количество посещений или как?

Golf
18-05-2004, 16:38
Если ты говоришь о Паскале, то я не знаю название функции разбивающее строку на буквы и записывающее их в массив. Название должно быть похоже на WORDWRAP, поищи. Можно и свою написать, используя функции выполняющие другие действия. Короче, получаеш массив из букв и из элементов этого массива составляешь слово в начале в цикле от 1(или 0) до длины массива, затем наоборот от длины массива до 1(или 0), сравниваешь получившиеся слова.

GreenTe@
18-05-2004, 17:54
Блин пусть сначало пиво ставит! потом думать буим!

Golf
18-05-2004, 18:17
А у меня даже кошелек ВебМоней есть, еси што :rolleyes: :)

Носки В Полоску
19-05-2004, 01:51
[QUOTE]Послано Princessa_Tanya
[B]Количество сообщений влияет на статус...
Насчет задачки - элементарщина... подскажу что строка - енто одномерный массив. [0] элемент - длина... с помощью цикла забубениваешь и усе... енто задачка на уровне 5-го класса сельской школы...

И еще: пара бы уже пиво ставить за консультации... тада уж мы и чем нить дельным помочь можем)))

2Гольф: а у миня сумка есть... типа "avoska hozyajstvennaya"... гораздо более практичный девайс для транспортировки пива)

Носки В Полоску
19-05-2004, 02:05
млин читаю и плачу... ты б еще taint-mode присобачить к задаче умудрился)))


Golf
19-05-2004, 02:18
Не понимаю иронии, ну написал ты
for i:=1 to length(s) do tmp:=tmp+s[length(s)+1-i];
вместо
for i:=length(s) to 1 do tmp:=tmp+s[i];
Что это изменило ?
Вобщем ты прав может в том, что к элементам строки в Паскале можно обращаться напрямую как к элементам массива, есть там кажись такая штука, не помню

Носки В Полоску
19-05-2004, 02:29
вариант работающий на ранних версиях паскаля...
касательно твоего... то не for i:=length(s) to 1 do tmp:=tmp+s[i]; а for i:=length(s) DOWNTO 1 do tmp:=tmp+s[i]; но весь трабл в том что ентот downto в некоторых версиях поддерживается криво.. либо не поддерживается ваапще... так шта чтоб не вазникло нарекания с интерпретатора/компилятора луче все таки написать по моему...

Golf
19-05-2004, 02:38
Ну как видишь Паскаль не свежий у меня в памяти, поэтому и пишу словами, по любому челу знающему синтаксис не составит труда обратить их в код :rolleyes:

Носки В Полоску
19-05-2004, 06:44
Ну в принципе и так усе должно быть понятно... А пиво все таки ставить и за такие безделушки надо)))

Princessa_Tanya
01-06-2004, 16:43
Блина, ну я даже не знала, что в мире столько желающих мне помочь!
p.s. А скока нада сообщений, чтобы стать мембером?