Помощь с паскалем!Срочно надо!!!
|
|
Quote (Berestovskiy) Согласен, часто тяжко преподу доказать что так правильней и т.д. Но после того как препод с тобой согласится - понимаешь:"Оно того стоило" :3
Она меня даже слушать небудет)))) только настрою её против себя...
|
|
|
Будет)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Quote (pashu83) var a:array[1..20]of string[70]; s:string; i:integer; begin for i:=1 to 20 do readln(a[i]); for i:=1 to 20 do begin s:=a[i]; while (ord(s[1])>48)and(ord(s[1])<57) do delete(s,1,1); a[i]:=s; end; for i:=1 to 20 do writeln(a[i]); end. это ЧП эта программа не работает, если вводишь строку полностью состоящую из цифр....Она зависает...
|
|
|
Попробуй так) :
for i:=1 to 20 do begin s:=a[i]+' ';
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Quote (Berestovskiy) Попробуй так) :
for i:=1 to 20 do begin s:=a[i]+' ';
Сделал вот так: program pasha10; var a:array[1..20]of string[70]; s:string; i:integer; begin writeln('‚‚…„€’… ЊЂ‘‘€‚ ‘’ђЋЉ '); i:=1; while (not EoF)and(i<20) do begin readln (a[i]); i:=i+1; end; for i:=1 to 20 do begin while (ord(a[i,1])>48)and(ord(a[i,1])<57) and (length(a[i])>0) do delete(a[i],1,1); end; for i:=1 to 20 do writeln(a[i]); end.
тепер всё работает, но если строка состоит только из цифр он её полностью удаляет и на её месте остаётся пустая строка, а надо чтобы они сдвинулись....
№ 45 | Автор: pashu83 |
2012-03-07, 17:11 | Изменено: pashu83 - Ср, 2012-03-07, 17:12
|
Репутация: [ + 0 ]
|
|
|
"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ).
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Здравствуйте. У меня вот такая вот проблемка с Turbo Pascal тема : ПРОГРАММИРОВАНИЕ ЗАДАЧ ОБРАБОТКИ СИМВОЛЬНЫХ ДАННЫХ Задание:
вот что я написал
Code Program lab10; Const A='{'; B='}'; n=6; Type mas=array[1..n] of string[70]; Var str,rez,poz:mas; i,v,x,l,p,k:byte;
Begin Writeln('Please Enter Strings'); For i:=1 to n do begin write('Stroka: '); Readln(str[i]); end; For i:=1 to n do begin l:=length(str[i]); p:=pos(A,str[i]); k:=pos(B,str[i]); If (p=0) then writeln('Commenttarii otsytstvyut') else if (p=0) and (k>=0) then writeln('Commenttarii otsytstvyut')else begin rez[i]:=copy(str[i],p,k); delete(str[i],p,k); x:=pos(A,str[i]); v:=pos(B,str[i]); If x>v then begin poz[i]:= copy(str[i],x,v); rez[i]:= rez[i]+poz[i]; writeln('coment:', rez[i]); end else writeln('coment:', rez[i]); end; end; end. Проблема в том что когда я ввожу строку вида: Программа считает её комментарием и выводит:
Помогите плиз решить эту проблему. Заранее спасибо.
№ 47 | Автор: Gernsback |
2012-03-13, 15:06 | Изменено: Gernsback - Вт, 2012-03-13, 16:33
|
Репутация: [ + 0 ]
|
|
№ 47 | Автор: Gernsback |
2012-03-13, 15:06 | Изменено: Gernsback - Вт, 2012-03-13, 16:33
|
Репутация: [ + 0 ]
|
|
|
Пример ввода-вывода. напишу код
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Quote (Berestovskiy) Пример ввода-вывода. напишу код
http://s019.radikal.ru/i615/1203/d1/10ed8c4d8d2a.jpg
т.е. я ввожу строки ( не обязательно с комментариями ) если в тексте есть символы "{" и "}" то они сохраняются в результирующий массив. в строке может быть больше 1го комментария. пример ввода: строка 1: 1213{com{com2{13}}} строка 2: } ewqeq { строка 3: }ewqe строка 4: {qweqwe строка 5: {wqeqwqwe{{{{{{QWEqwe} результат должен быть таким коммент 1: {com{com2{13}}} коммент 2: комментария нет коммент 3: комментария нет коммент 4: комментария нет коммент 5: {wqeqwqwe{{{{{{QWEqwe}
|
|
|
var a,s:string; i,q,w:integer; begin readln(s); q:=pos('{',s); if q<>0 then begin if pos('}',s)<>0 then for i:=1 to length(s) do if s[i]='}' then w:=i; if q<w then a:=copy(s,q,w); writeln(a); end; if a='' then writeln('komentov net'); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Quote (Berestovskiy) var a,s:string; i,q,w:integer; begin readln(s); q:=pos('{',s); if q<>0 then begin if pos('}',s)<>0 then for i:=1 to length(s) do if s[i]='}' then w:=i; if q<w then a:=copy(s,q,w); writeln(a); end; if a='' then writeln('komentov net'); end. Спасибо!!! примерно понял как надо было правильно сделать. сейчас до делаю.... в массив)))
|
|
|
"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ). Обращайся ещё))
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Нажал ))) з.ы. не догоняю как сделать эту программу тогда что бы она обрабатывала массив из 20 строк .. + я заметил что в этом коде строки такого вида текст{комментарий}текст не считаются комментариями ..
№ 53 | Автор: Gernsback |
2012-03-13, 19:48 | Изменено: Gernsback - Вт, 2012-03-13, 19:53
|
Репутация: [ + 0 ]
|
|
|
Вот тебе рабочий код: var a:array[1..20]of string; i,j,p,w:integer; s:string; begin for i:=1 to 20 do readln(a[i]); for i:=1 to 20 do begin s:=a[i]; p:=pos('{',s); if p=0 then writeln('net komentov') else if pos('}',s)=0 then writeln('net komentov') else begin for j:=1 to length(s) do if s[j]='}' then w:=j; if p>w then writeln('net komentov') else begin delete(s,w+1,255);delete(s,1,p-1);end; writeln(s);end; end; end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
№ 54 | Автор: Berestovskiy |
2012-03-14, 19:35 | Изменено: Berestovskiy - Ср, 2012-03-14, 19:35
|
Репутация: [ + 211 ]
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
№ 54 | Автор: Berestovskiy |
2012-03-14, 19:35 | Изменено: Berestovskiy - Ср, 2012-03-14, 19:35
|
Репутация: [ + 211 ]
|
|
|
Помоги(( моя программа удаляет все начальные цифры из строк... всё работает... Осталось сделать так чтобы ЕСЛИ СТРОК НАЧИНАЮЩИХСЯ С ЦИФР НЕТ, ВЫВОДИТЬ СООБЩЕНИЕ ЧТО ИХ НЕТ. Это легко сделать но я не допру... можно или boolean переменную взять или просто переменную...но куда её вставить... program pasha10; var a:array[1..20]of string[70]; s:string; i:integer; begin writeln('ВВЕДИТЕ МАССИВ СТРОК '); i:=1; while (not EoF)and(i<20) do begin readln (a[i]); i:=i+1; end; for i:=1 to 20 do begin while (ord(a[i,1])>=48)and(ord(a[i,1])<=57) and (length(a[i])>0) do delete(a[i],1,1); end; writeln('РЕЗУЛЬТАТ: '); for i:=1 to 20 do if a[i]<>'' then writeln(a[i]); end.
|
|
|
зачем булеан?) поставь перед циклом иф и все проблемы решены)) что-то типа: иф первый символ - цифра зен ду цикл елс врайтлн ..))
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
спасибо, уже сделал с булеан...
|
|
|
Помогите плиз. 13. Начиная с центра обойти по спирали все элементы матрицы размером 9x9 (распечатывая их в порядке обхода). 14.Дана матрица A из целых чисел размером MxN. Переставить строки матрицы так, чтобы строки стали расположены по убыванию в лексикографическом порядке.
|
|
|
1. uses crt; const n=9; var a:array[1..n,1..n]of byte; x,y,k,z:integer; begin clrscr; for x:=1 to n do begin for y:=1 to n do begin a[x,y]:=n*(x-1)+y; write(a[x,y]:4); end; writeln; end; writeln; x:=5;y:=5;k:=0;{начнем от центра} for z:=1 to n*n do begin write(a[x,y]:4);{выводим элемент} case k mod 4 of 0:begin dec(y);{вверх} if (x-1)=y then inc(k); end; 1:begin inc(x);{вправо} if(n-x+1)=y then inc(k); end; 2:begin inc(y);{вниз} if(n-x)=(n-y) then inc (k); end; 3:begin dec(x);{влево} if y=(n-x+1) then inc(k); end; end; end; readln end.
2. Пример ввода-вывода
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
№ 59 | Автор: Berestovskiy |
2012-04-03, 10:24 | Изменено: Berestovskiy - Вт, 2012-04-03, 10:25
|
Репутация: [ + 211 ]
|
|
|
Можете помочь решить На столе лежат n монеток. Некоторые из них лежат вверхрешкой, а некоторые – гербом. Определите минимальное число монеток, которые нужно перевернуть, чтобы все монетки были повернуты вверх одной и той же стороной. Входные данные В первой строке входного файла INPUT.TXT записано натуральное число N (1 <= N <= 100) – число монеток. В каждой из последующих N строк содержится одно целое число – 1 если монетка лежит решкой вверх и 0 если вверх гербом. Выходные данные
|
|
|