13.10.2016, 22:32 | #1 (permalink) |
Member
Регистрация: 13.10.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль
var a,x,n,c,i,b,k,j:integer; s,s_new:array[1..100] of char; p:array[1..100] of integer; flag:boolean; begin for i:=1 to 100 do begin s[i]:=chr(0); s_new[i]:=chr(0); end; flag:=true; writeln('Введите число символов в строке (<=100)'); readln(n); if n>100 then writeln('НЕВЕРНО!Введите число символов в строке (<=100)') else writeln('Введите строку'); for i:=1 to n do read(s[i]); repeat writeln('Введите размер блока (>=2)'); readln(a); if a<2 then writeln(' ОШИБКА!'); until (a<=n) and (a>1); b:= n mod a ; if b<>0 then repeat writeln('Повторите ввод размера блока (>=2)'); readln(a); until n mod a=0; writeln('Введите код'); for i:=1 to a do begin read(p[i]); if (p[i]<=0) or (p[i]>a) then flag:=false; end; j:=2; if flag=true then for i:=1 to a do while (flag=true) and (j<a) do if p[i]<>p[j] then inc(j) else flag:=false; |
13.10.2016, 22:32 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Аналогичные вашей темы участники форума создавали ранее, прочитайте их Паскаль Паскаль Паскаль Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл Паскаль |
14.10.2016, 16:25 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Немножко причесал до ввода кода. На то, что надписи английские, не обращайте внимание: просто мне так удобнее.
Код:
var a,x,n,c,i,b,k,j:integer; s,s_new:String; Smb:Char; p:array[1..100] of integer; flag:boolean; begin flag:=true; repeat writeln('Enter the number of symbols in string (<=100):'); readln(n); if n>100 then writeln('Error!') until n<101; repeat writeln('Enter the string:'); readln(s); if Length(s)<>n then writeln('Error!'); until Length(s)=n; repeat writeln('Entel the block length "a" (1<a<n+1) and ((n mod a)=0)'); readln(a); if (a<2) or (a>n) or ((n mod a)<>0) then writeln('Error!'); until (a<=n) and (a>1) and ((n mod a)=0); writeln('Enter the code'); Естественно, будет ругаться, раз вы определили массив p, как численный, а пытаетесь загнать в него "другие символы". Но чтобы отладить эту часть программы, желательно было бы получить разъяснение на словах о том, как формируется этот самый код. Из Вашей программы я этого, извините, понять не сумел. |
14.10.2016, 17:11 | #5 (permalink) |
Member
Регистрация: 13.10.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
сама программа на шифровку и расшифровку, нужно что бы размер блока был кратен числу символов в строке и при вводе кода , можно было ввести любые символы, что бы программа не вылетала , а просто выдавала в конце (при запуске) ошибку, что она и делает , но только при вводе чисел
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
15.10.2016, 11:07 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так. Вместо внятного ответа на вопрос - пустой набор слов.
Спасибо, но это мало интересно.Это понятно, тут вопросов нет. Цитата:
1. Код должен состоять ТОЛЬКО из цифр. 2. Если вводится символ, отличный от цифры, то сообщение об ошибке должно появиться не раньше окончания ввода всего кода. 3. Все цифры должны быть различными. Отписками типа "на и подавись" прошу не утруждаться. Дайте точные ответы на поставленные вопросы. |
|
15.10.2016, 14:11 | #7 (permalink) |
Member
Регистрация: 13.10.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо, большое за помощь. Я уже сама разобралась
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|