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

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

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

В последний раз даю полный код человеку, который даже не пожелал разобраться в задаче, дак вот учти Guest что эту задачу написал даже девятиклассник, угу, даже он... А ты не смог, вот теперь и суди о возрасти и всем остальном...

Вот прога:
program help;
Var s, sWord: string;
   i, k, o: byte;
BEGIN
    write ('Enter your string->');
    readLn (s);
    s:=s+' ';{советую сюда еще вставить удаление лишних пробелов}
    i:=0;
    while i<=length (s) do
     begin
     
      k:=0;
      while s{i}<>' ' do
       begin
        inc (i);
        k:=k+1;
       end; {находим позицию слова}

      sWord:=copy (s, i-k, k)+' '; {записываем его в память}
     
      o:=0;{удаляем из всей строки}
      while pos (sWord, s)<>0 do
       begin
        delete (s, pos (sWord, s), length (sWord));
        inc (o)
       end;
      if o<=1
         then
          begin
           insert (sWord, s, i-length (sWord)+1);
           i:=i+1{если было одно то вставляем на прежнее место}
          end
         else i:=i-length(sWord)+1;

      if (s{i}=' ') or (i=0)
         then inc (i);
     end;

    writeLn (s);
    readLn
END.

____
Простите за офф уважаемые, просто не сдержался... Прочитают, потом удалю...


From VF: не надо удалять. Вдруг у кого-нибудь возникнет подобный вопрос.


(Сообщение отредактировал KMA 18 апр. 2006 23:15)


(Сообщение отредактировал KMA 18 апр. 2006 23:16)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 апр. 2006 3:20 | IP
Guest



Новичок

KMA
Спасибо тебе, по поводу 9класника. Я то понимаю, у тебя мозги лучше моих, а моим в этой задаче ничего не понять. Так уж сделал создатель. Еще раз тебе спасибо.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 18 апр. 2006 15:27 | IP
Guest



Новичок

"insert (sWord, s, i-length (sWord));" КМА, по моему у тебя сдесь ошибка, он из пес дом делает песдом. Что то неправильно.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 18 апр. 2006 22:40 | IP
KMA



Долгожитель

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

По повододу этого песдома, да здесь ошибка, проверял сегодня, просто вчера поздно писал, спать хотел... Хотя это и не оправдание... Однако чего сразу бочку катить??? Писал ведь не в компиляторе, а в этом маленьком миленьком сереньком окошке... Здесь положено очень сильно рассердиться, обидеться, и сказать что делайте сами свои задачи, однако я все же доведу дело до конца, что б не у кого ни сложилось впечатление, что я ни умею их решать, смотри предыдущую задачу, там что исправлено, выделено черным толстым шрифтом (красным не знаю как, можте VF подскажет)...

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


(Сообщение отредактировал KMA 18 апр. 2006 23:21)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 апр. 2006 22:51 | IP
Guest



Новичок

KMA
Хорошо, я скоро зарегестрируюсь. Но у меня есть к тебе пара вопросов:
1. Ты правда учишсься в 9 классе?
2. Откуда ты все это знаешь в 9 классе?(Я только с бейсиком тогда работал)
3. И если ты будешь поступать в институт, то на какую специальность.
Все.


Всего сообщений: Нет | Присоединился: Never | Отправлено: 19 апр. 2006 17:21 | IP
Abror


Удален

Здрасте это сново я со свей задачей никак не могу дорешить.Не поможете добить??
program Kursovaya;
type group=record                                                            

mass = array [1..100] of group;

surname:string[10];                                                          
name:string[10];                                                              
year:integer;                                                                
money:integer;                                                                
number:string[7];                                                            
end;                                                                          
var F:file of group;                                                          
G:group; i,n:integer; s:string;  myMass:mass;                                            
begin                                                                        
   Assign(F,'C:\TP7\kursovaya.pas');                                        
write('Vvedite chislo sotrudnikov');  readln(n); rewrite(F);                  
 For i:=1 to n do begin with G do                                            
begin                                                                        
     readln(surname);                                                      
     readln(name);                                                          
      readln(year);                                                          
     readln(money);                                                        
     readln(number);                                                        
      end;                                                                  
write(F,G);
  end; reset(F); i:=1;                                                                                                   While not eof (F) do
begin
 read(F,myMass{{i]);
i:=i+1;
end;                      
reset(F);                                                                    
WHILE NOT EOF (F) do begin                                                    
read (F,G);                                                                  
IF(G.year>=20) then begin                                                    
writeln('Staj raboti ne menee 20 let');                                        
writeln(G.surname);       writeln(G.name);
end.

Если что я добавил правильно то как мне вытащить 2 числа из строки и сравнить их??
Со сравнением у меня большие проблемы! И массивы я понимаю с трудом! Я знаю что надо задать 2 цикла правильно??Спасибо

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 19 апр. 2006 17:57 | IP
KMA



Долгожитель

Guest, не потеме ты говоришь, это или в личку, или Свободное общение, здесь задачи решают...

Но уж начал отвечать, дак допешу...
1. Да, я учусь в девятом классе;
2. Читаю много, хожу на факультативы, но практически не сплю...
3. Собираюсь поступать на информационные системы и технологии... Так что это моя специальность...

Arbor, ты конечно дико крут, я даже никогда бы и не додумался взять так спокойно и назначить файл типа pas... Но ладно, это пол беды...    
Ну ладно, если начать анализировать с самого начала, то ты получается такой бред несешь, часика через три, когда все поуляжется напишу решения, сейчас времени нет... Но чушь полная...

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 апр. 2006 21:01 | IP
Guest



Новичок

var
s:string;
i,j,m:integer;
begin
clrscr;
write('Stoka->');
read(s);
for i:=1 to length(s) do
begin
m:=0;
for j:=i+1 to length(s) do
if s{i}=s{j} then inc(m);
if m=0 then write(s{{i]);
end.
КМА, помоги найти ошибку, прога должна выводить 1 раз встречающиеся символы

Всего сообщений: Нет | Присоединился: Never | Отправлено: 19 апр. 2006 21:03 | IP
KMA



Долгожитель

program Kursovaya;
TYPE
    y=1..100;
    group=record
     surname: string[10];
     name: string[10];
     year: y;
     money: word;
     number: string[7];
    end;
   
    mass = array [1..100] of group;

VAR
  f: file of group;
  buf: group;{переменная обменник}
  i, n: integer;
  s: string;
  mas: mass;
 
BEGIN
    Assign(f,'C:\..\kursovaya.kma');
    write('Vvedite chislo sotrudnikov');
    readln(n);
    {создаем сотрудников, я так понял}
    rewrite(F);
    for i:=1 to n do
     begin
      with G do
       begin
        readln(surname);
        readln(name);
        readln(year);
        readln(money);
        readln(number);
       end;
      write(F,G);
     end;

  {заносим сотрудников в массив}
  seek (f, 0);
  While not eof (F) do
   begin
    read(F, Mas{i});
    inc (i)
   end;

  {выводим сотрудников у которых больше стаж работы чем 20 лет}
  seek (f, 0);
  while not EoF (f) do
   begin
    read (F,G);
    if (G.year>=20)
     then writeLn ('Стаж работы более 20 лет:', g.sirname, ' ', g.name)
   end;
END.

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

Вывод чего тебе не понятен, тебе надо по номерам сравнить, скоро напишу...  


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

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 апр. 2006 21:19 | IP
KMA



Долгожитель

Guest, регистрируйся наконец...

var
  s:string;
  st: string [1]
  i,j:integer;
  flag: boolean
BEGIN
    clrscr;
    write('Stoka->');
    read(s);
    for i:=1 to length(s) do
     begin
      flag:=false;
      for j:=i+1 to length(s) do
       if s{i}=s{j}
          then
           begin
            flag:=true;
            st:=s{{i];
            while pos (st, s) <> 0 do
             delete (s, pos (st, s), 1)
           end;
         
      if flag
          then write(st);
         
     end;
END.

Ты просто не удалял все остальные символы, например в строке aaa, тебе бы прога вывела aа. Да и вообще она б ничего не вывела, ты end с begin не забывай ставить сразу пиши, а только потом туда текст... Плюс в конечном выражении, тебе надо было проверять не на равенство m=0, а как раз наоборот, m<>0. Но так как integer тип более большой, то лучше здесь использовать скромный булевый, т. е. это flag.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 апр. 2006 21:54 | 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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

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