var arr: string[80]; {строка}
tmp_arr: string[80]; {временная строка}
max_arr: string[80]; {максимальная строка}
n_tmp, {индекс временной строки}
n, {индекс}
max_n: integer; {длина строки}
begin
max_n:=length(arr);
max_tmp:=0;
tmp_arr:='';
n:=1;
n_tmp:=1;
while (arr[n]<>'.')or(n<=max_n) do
begin
if (arr[n]<>' ')or(arr[n]<>'.')or(n<=max_n)
then begin
tmp_arr:=tmp_arr+arr[n]
n_tmp:=n_tmp+1;
end
else begin
n_tmp:=1;
if length(tmp_arr)>length(max_arr) then max_arr:=tmp_arr;
end;
n:=n+1;
end;
end;
Массивы задачки
Описать символьный массив длиной 80 символов.
Массив просмотреть до точки, если она есть, или до последнего введеного символа. Выдать слово максимальной длины.
В случае исключительных ситуаций выдать сообщение:СТРОКА слов пуста.
2. 1.Описать матрицу 8х8 элементов.
1 9 17
2 10 .
. . .
. . .
. .
7 15
8 16
2.Распечатать элементы матрицы с помощью подпрограммы с указанием сумм по каждой строке и каждому столбцу, а также общей суммы.
3. Поменять местами строку и столбец, на пересечении которых находится максимальный элемент.
4.. Повторно распечатать элементы матрицы с суммами.
5. Исключительные ситуации и форматы вывода определить самостоятельно.
Помогите пожалуйста.
Что ты подразумеваеш под "исключительными ситуациями", в Pascal нет обработчика ошибок...?
Ну допустим не введено предложение или просто цифра введена, место предложения.Там надо найти ввести любое предложение и выдать слово макс. длины.
Код:
Ну вот и всё...
Ввод вывод сделай сам, а про обработку ошибок - я так и не понял какие именно ошибки тебе надо отслеживать...
P.S. В коде возможны ошибки, я без компилятора писал...
сорри за оффтоп, но тем не менее, {$I-} IOResult {$I+} вроде никто не отменял
Это да, но я имел в виду "try except" со таварищи...
А директива {$I} включает/выключаеш обработку ошибок компилятором... свой обработчик ты построить не сможеш...
А IOResult аботает полько с файлами (ввод/вывод).))
вопросы типа: "Помогите, т.е. сделайте вместо меня" постим только в разделе "Студенты. Неинформативное название темы! читай правила, а то буду закрывать такии темы.
Код:
var arr: string[80]; {строка}
tmp_arr: string[80]; {временная строка}
max_arr: string[80]; {максимальная строка}
n_tmp, {индекс временной строки}
n, {индекс}
max_n: integer; {длина строки}
begin
max_n:=length(arr);
max_tmp:=0;
tmp_arr:='';
n:=1;
n_tmp:=1;
while (arr[n]<>'.')or(n<=max_n) do
begin
if (arr[n]<>' ')or(arr[n]<>'.')or(n<=max_n)
then begin
tmp_arr:=tmp_arr+arr[n]
n_tmp:=n_tmp+1;
end
else begin
n_tmp:=1;
if length(tmp_arr)>length(max_arr) then max_arr:=tmp_arr;
end;
n:=n+1;
end;
end;
tmp_arr: string[80]; {временная строка}
max_arr: string[80]; {максимальная строка}
n_tmp, {индекс временной строки}
n, {индекс}
max_n: integer; {длина строки}
begin
max_n:=length(arr);
max_tmp:=0;
tmp_arr:='';
n:=1;
n_tmp:=1;
while (arr[n]<>'.')or(n<=max_n) do
begin
if (arr[n]<>' ')or(arr[n]<>'.')or(n<=max_n)
then begin
tmp_arr:=tmp_arr+arr[n]
n_tmp:=n_tmp+1;
end
else begin
n_tmp:=1;
if length(tmp_arr)>length(max_arr) then max_arr:=tmp_arr;
end;
n:=n+1;
end;
end;
Ну вот и всё...
Ввод вывод сделай сам, а про обработку ошибок - я так и не понял какие именно ошибки тебе надо отслеживать...
P.S. В коде возможны ошибки, я без компилятора писал...[/QUOTE]
А можно без 3 описанных масивов, как-нить с 1? И еще а разве не так
m:array[1..80] of char? И если не тяжело обьянить зачем надо индекс временной строки?
[quote=M0n-&-T0r]Подскажите пожалуйста!!!! как реализовать на С++ ...[/quote]
скажи, с тобой все в порядке? на кой постить свои вопросы в чужих темах?
такой вопрос как то задавали, в Общих вопросах программирования. поищи. не справишься - напиши мне в приват, думаю я найду.
[COLOR=red]Если ещё будешь нарушать правила форума - будешь кандидатом в бан.[/COLOR]