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

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на 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
  

amigo


Начинающий


Цитата: kotenokGaw написал 14 дек. 2006 18:41
Помогите составить программу пожалуйста: "В строке слова разделены одним пробелом. Поменять местами первое и последнее слово."



Помогаем:
Строка представляет собой массив символов.
Поскольку это массив, то строка является упорядоченным множеством. Следовательно к каждому элементу строки
можно обращаться путём указания его номера.
Значит если мы сможем обнаружить в с строке номер пробела,
то тем самым мы сможем и обнаружить те два слова которые
будут переставляться. Если номер пробела равен n,
то первое слово строится из символов от 1 до n-1. а второе
от n+1 до length(s); где length(s)-количество символов в строке.  А далее их поменять местами уже не сложно, нужно только помнить два момента:
1. что есть функция "copy"
2.нам понадобится вспомогательная переменная тоже строкового типа, для хранения промежуточных результатов.
Вот и всё.  Такая помощь Вас  устроит?

Всего сообщений: 54 | Присоединился: март 2006 | Отправлено: 14 дек. 2006 20:12 | IP
kotenokGaw


Удален


Цитата: amigo написал 14 дек. 2006 20:12


Помогаем:
Строка представляет собой массив символов.
Поскольку это массив, то строка является упорядоченным множеством. Следовательно к каждому элементу строки
можно обращаться путём указания его номера.
Значит если мы сможем обнаружить в с строке номер пробела,
то тем самым мы сможем и обнаружить те два слова которые
будут переставляться. Если номер пробела равен n,
то первое слово строится из символов от 1 до n-1. а второе
от n+1 до length(s); где length(s)-количество символов в строке.  А далее их поменять местами уже не сложно, нужно только помнить два момента:
1. что есть функция "copy"
2.нам понадобится вспомогательная переменная тоже строкового типа, для хранения промежуточных результатов.
Вот и всё.  Такая помощь Вас  устроит?




Да! Вполне, как раз это пеня и интересовало, а с остальным я справлюсь сама. Пасиб!!!

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 14 дек. 2006 22:03 | IP
Guest



Новичок

помогите плиз:нужно из вектора удалитьэлементы порядковые номера которых кратны трем

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



Долгожитель

Слушайте, вам не надоело писать однотипные задачи... Ctrl+F и понеслись. Неоднократно подобное решалось.

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


Удален

Всем привет,у меня такая проблема:
Program lab_2;
    uses crt;
    label 3;
    var u,x,y,:real;
Begin
    clrscr;
   3:write('x=');read(x);
      write('y=');read(y);
   if(abs(x)+abs(y)>1)and(x<0)then begin write('решения    нет');goto 3 end
   else begin  
   write('net');
   writeln;
   goto 3;
   end;
   if(abs(x)+abs(y)<=1)and(x>=0)then u:=ln(x)+(ln(y))/(6+(sqrt(sqr(x)+1)))/abs(y-x)+(sqrt(x));
   if(abs(x)+abs(y)>1)and(x<>0)then u:=abs(x-y)*(1+cos(x+y))/(2*ln(x));
   writeln;
End.
В чём ошибка понятия не имею,Alt F5 нажимаю числа подставляю что бы соответствовали х и y,а он всё равно сис.не решает,пишет мне "нет",помогите пожалуйста,я уже не знаю что и делать.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 16 дек. 2006 14:01 | IP
XyHTa


Удален

3:write('x=');read(x); //(3)
     write('y=');read(y);
  if(abs(x)+abs(y)>1)and(x<0)then //(1)
begin write('решения    нет');goto 3 end
  else begin  
  write('net');
  writeln;
  goto 3; //(2)
  end;

Если условие (1) истинно, то будет вывод "решений нет" и переход на (3). Если (1) ложно, то вывод "нет" и опять переход на (3) из строки (2). Т.о. получаем бесконечный цикл.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 16 дек. 2006 15:39 | IP
molodzo


Удален

Народ, ну не могу сделать задачу. Не даются мне процедуры и функции. Помогите. Готов даже за деньги, только в разумных пределах, ведь ползадачи уже сделано.

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 16 дек. 2006 16:41 | IP
amigo


Начинающий


Цитата: molodzo написал 16 дек. 2006 16:41
Народ, ну не могу сделать задачу. Не даются мне процедуры и функции. Помогите. Готов даже за деньги, только в разумных пределах, ведь ползадачи уже сделано.


пиши в личку

Всего сообщений: 54 | Присоединился: март 2006 | Отправлено: 16 дек. 2006 20:30 | IP
KMA



Долгожитель

molodzo, решу бесплатно -)
Короче, так, тебе нужно составить процедуру для нахождения трех максимумов? Или функцию?
Напиши условие, я решу.

amigo, =)

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


Удален



(Сообщение отредактировал molodzo 17 дек. 2006 11:59)

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 17 дек. 2006 11:57 | 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