Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
помоги решить задачи
1. Дана квадратная матрица A[N, N]. Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы. Вывести элементы новой матрицы с помощью процедуры(двумерный массив)

2. Задан массив, содержащий несколько нулевых элементов. Сжать его, выбросив эти элементы.(одномерный массив)

3. Дана строка-предложение, все слова разделены в ней пробелами. Вывести самое длинное слово и найти его длину.

P.S Извини что тревожу, просто для зачета надо решить их

1 | Автор: Justluck | 2011-05-12, 10:35   |  Репутация: [ + 0 ]
1.
var
a:array[1..10,1..10]of byte;
i,j,n:byte;
begin
writeln('Введите размерность матрицы');
read(n);
writeln('Вводите элементы матрицы');
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
writeln('Ответ:');
for i:=1 to n do
for j:=1 to n do
if a[i,j]>0 then write(1,' ') else write(0,' ');
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2011-05-12, 12:31 | Изменено: Berestovskiy - Чт, 2011-05-12, 13:46   |  Репутация: [ + 211 ]
2.
var
a:array[1..20]of byte;
i,n:byte;
begin
writeln('Введите размерность массива');
read(n);
writeln('Вводите элементы массива');
for i:=1 to n do
read(a[i]);
writeln('Ответ:');
for i:=1 to n do
if a[i]<>0 then write(a[i],' ');
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
3 | Автор: Berestovskiy | 2011-05-12, 12:32 | Изменено: Berestovskiy - Чт, 2011-05-12, 13:46   |  Репутация: [ + 211 ]
3.
var
a,b,bm:string;
c,i:byte;
begin
writeln('Введите строку');
readln(a);
for i:=1 to length(a) do
if (a[i]=' ') and (a[i+1]=' ') then delete(a,i,1);
for i:=1 to length(a) do begin
c:=pos(' ',a);
b:=copy(a,1,c);delete(a,1,c);
if length(bm)<length(b) then bm:=b;
end;
writeln('Самое длинное слово: ',bm);
writeln('Длинна этого слова = ',length(bm));
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2011-05-12, 12:44 | Изменено: Berestovskiy - Чт, 2011-05-12, 13:47   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2011-05-12, 12:44 | Изменено: Berestovskiy - Чт, 2011-05-12, 13:47   |  Репутация: [ + 211 ]
Ошибка в третьей задаче. Копирывание не С-символов, а С-1. С это пробел ты копируеш с ним и в итоге у тебя длинна строки на 1 больше чем надо. Да и второй цикл фор это мне кажется лишнее, напирмер: вводится предложение из 100 символов, в котором два слова, ты за два прокрута разбираеш все предложение, а остальные 98 раз цикл у тебя крутится непонятно зачем. Лучше репит используй. если пробел не нашел то С присваивай 0 и выход из цикла если с равно 0. Да и если ввести предложение состоящее из одного слова то его не выведит на экран.
5 | Автор: HWOARANG | 2011-05-12, 15:10 | Изменено: HWOARANG - Чт, 2011-05-12, 15:20   |  Репутация: [ + 20 ]
Я думаю это не столь уместно)
главное, что работает:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2011-05-12, 15:13   |  Репутация: [ + 211 ]
Работать работает, но неправильно ведь ))) Самое длинное слово состоит допустим из 10 букв, а длинну указывает 11. Что ж тут правильного? ))
7 | Автор: HWOARANG | 2011-05-12, 15:24   |  Репутация: [ + 20 ]
Ну судя по твоему предыдущему коменту - то это понятно тому кто просил:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
8 | Автор: Berestovskiy | 2011-05-12, 16:38   |  Репутация: [ + 211 ]
Понятно и правильно две разные вещи )
9 | Автор: HWOARANG | 2011-05-12, 17:33   |  Репутация: [ + 20 ]
9 | Автор: HWOARANG | 2011-05-12, 17:33   |  Репутация: [ + 20 ]
Спасибо Кэп:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
10 | Автор: Berestovskiy | 2011-05-12, 21:04   |  Репутация: [ + 211 ]
  • Страница 1 из 1
  • 1
Поиск: