IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Массивы и строки
viv
сообщение 9.08.2004 7:37
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Помогите решить задачки
1-я: В последовательности a1, a2,...an найти числа, которые входят в последовательность по одному разу.
2-я: В первой половине строки все запятые заменить на точки, а во второй половине удвоить каждую встретившуюся точку.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
virt
сообщение 9.08.2004 10:09
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


1)
Код
for i:=1 to n do
  begin
     k:=0;
     for j:=1 to n do
        if a[i]=a[j] then inc(k);
     if k=1 then write(a[i],' ');
  end;


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 9.08.2004 10:30
Сообщение #3


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


2)
Код
Var
 St : String;
 i  : Byte;

Begin
 St:='wegr,.. esdfg. ,sdfg., .sdf, .s,dfg,s.d .fg. ,s.f.';
 Writeln(St);
 For i:=1 to (Length(St) div 2) do
   If St[i]=',' then St[i]:='.';
 For i:=Length(St) downto (Length(St) div 2)+1 do
   If St[i]='.' then
     Insert('.',St,i);

 Writeln(St);
End.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Romtek
сообщение 9.08.2004 23:22
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


Ну показали ему готовое решение. И что это ему (ей) дало?
Лучше знать стал(а) Паскаль? huh.gif


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 10.08.2004 9:12
Сообщение #5


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


На примерах учатся!
Хотя в большинстве случаев человеку нужно просто получить зачет, а знания - это так, просто ненужный довесок... ;)


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 10.08.2004 11:36
Сообщение #6


Гость






ААААААААААААА!!!!!!!!!!!!!!!
Люди, только не надо опять эту тему поднимать!!!!!
 К началу страницы 
+ Ответить 
Bogdan
сообщение 19.08.2004 13:57
Сообщение #7


Гость






Люди помогите...Вчера сделал прогу вроде бы пашет но не очень :-). Смысл такой.... Нода ввести число n. Вычислить количество щасливых билетов которых есть 2*n и у которых сумма первых n цифр равна сумме останних n цифр.Вот мой текст. Прога работает только для n=2. А для n=3 число вариантов меньше.Не понимаю почему. если кто поможет буду благодарен...
а вот и текст
Код
uses crt;
var k1,k2,i,d,n,zah,x1,x2: longint;
    s,s1,s2,t:string;
function step(x,n:integer): longint;
var i,h:longint;
begin
     h:=1;
     for i:=1 to n do h:=h*x;
     step:=h;
end;
function sum(r:string):longint;
var s3:string;
    j,w,rax:longint;
    e:integer;
begin
     w:=0;
     for j:=1 to length( r ) do
     begin
          s3:=copy(r,1,1);
          delete(r,1,1);
          val(s3,rax,e);
          w:=w+rax;
     end;
     sum:=w;
end;
begin
clrscr;
write('vvedyte N: ');readln(n);
k1:=step(10,2*n)-1;
k2:=step(10,n)-1;
for i:=k2 to k1 do
begin
   str(I,s);
   t:=s;
   d:=length(s);
    while d<> 2*n do
          begin
               s:='0'+s;
               d:=length(s);
          end;
   s1:=copy(s,1,n);
   delete(s,1,n);
   s2:=s;
   x1:=sum(s1);
   x2:=sum(s2);
   if x1=x2 then inc(zah);
   end;
   writeln;
   writeln('kolichestvo ',zah,' biletov');
   readln;
end.

Я скоро устану заключать код в соответствующие теги за место авторов!
 К началу страницы 
+ Ответить 
APAL
сообщение 19.08.2004 14:22
Сообщение #8


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Что-то я не очень понял условие...
Можно повторить сначала?

P.S.: Жуть какая-то...


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Бродяжник
сообщение 19.08.2004 15:52
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


C программой все в порядке... почти. Недостает одной строчки. И из-за этого она вообще не работает. Попробуйте посчитать для n=1. Это легче всего проверить. У меня она насчитала тысячи билетов, хотя их никак не могло быть больше 100. Вообще-то их по Вашей методе должно бы быть 9(11,22,33,44,55,66,77,88,99). Попутно вопрос - то, что номера билетов идут не с 000001, а с 000999 - это так надо? А недостает этой программе инициализации переменной ZAH. Из-за этого ZAH вначале получает какое-то левое значение, к которому потом плюсуется число счастливых билетов. Других багов я не заметил.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 13:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"