Массивы и строки |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Массивы и строки |
viv |
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: 0 |
Помогите решить задачки
1-я: В последовательности a1, a2,...an найти числа, которые входят в последовательность по одному разу. 2-я: В первой половине строки все запятые заменить на точки, а во второй половине удвоить каждую встретившуюся точку. |
virt |
Сообщение
#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; -------------------- |
APAL |
Сообщение
#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. -------------------- |
Romtek |
Сообщение
#4
|
Знаток Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: 2 |
Ну показали ему готовое решение. И что это ему (ей) дало?
Лучше знать стал(а) Паскаль? -------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
APAL |
Сообщение
#5
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
На примерах учатся!
Хотя в большинстве случаев человеку нужно просто получить зачет, а знания - это так, просто ненужный довесок... ;) -------------------- |
BlackShadow |
Сообщение
#6
|
Гость |
ААААААААААААА!!!!!!!!!!!!!!!
Люди, только не надо опять эту тему поднимать!!!!! |
Bogdan |
Сообщение
#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 |
Сообщение
#8
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Что-то я не очень понял условие...
Можно повторить сначала? P.S.: Жуть какая-то... -------------------- |
Бродяжник |
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
C программой все в порядке... почти. Недостает одной строчки. И из-за этого она вообще не работает. Попробуйте посчитать для n=1. Это легче всего проверить. У меня она насчитала тысячи билетов, хотя их никак не могло быть больше 100. Вообще-то их по Вашей методе должно бы быть 9(11,22,33,44,55,66,77,88,99). Попутно вопрос - то, что номера билетов идут не с 000001, а с 000999 - это так надо? А недостает этой программе инициализации переменной ZAH. Из-за этого ZAH вначале получает какое-то левое значение, к которому потом плюсуется число счастливых билетов. Других багов я не заметил.
|
Текстовая версия | 9.01.2025 7:02 |