Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 11.04.2011, 21:12   #1 (permalink)
corpions
Новичок
 
Регистрация: 11.04.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, проверить задачу

Сожмите одномерный массив, удалив предшествующие минимальному элементу.

program Lex;
uses crt;
var m:array[1..100]of integer;
i,n,min:integer;

begin
clrscr;
write('Vvedite kol-vo elementov massiva -> ');
readln(n);
write('Vvedite massiv ');
for i:=1 to n do read(m[i]);
readln;
min:=1;
for i:=1 to n do if m[i]<m[min] then min:=i;

for i:=1 to min-1 do m[i]:=m[i+min-1];
n:=n-min+1;
for i:=1 to n do write(m[i],'');
readln;
end.

Она работает правельно или нет ???

corpions вне форума   Ответить с цитированием

Старый 11.04.2011, 21:12
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можете найти полезную информацию в похожих обсуждениях

Помогите, пожалуйста, решить задачу
Пожалуйста, помогите проверить систему на совместимость
Помогите решить задачу по C++, пожалуйста

Старый 11.04.2011, 21:15   #2 (permalink)
corpions
Новичок
 
Регистрация: 11.04.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Если нет то помогие пожалуйста устанить в задаче ошибку ???
corpions вне форума   Ответить с цитированием
Старый 11.04.2011, 21:15   #3 (permalink)
corpions
Новичок
 
Регистрация: 11.04.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

*устранить
corpions вне форума   Ответить с цитированием
Старый 11.04.2011, 21:44   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от corpions Посмотреть сообщение
Она работает правельно или нет ???
Прежде всего, я, увы, не знаю слова "правЕльно". А если подразумевается "правИльно", то ответ - нет, не правильно. И неправильно прежде всего построен цикл переназначения элементов массива. Нужно так:
for i:=min to n do m[i-min+1]:=m[i];
Тогда будет правильно.
И еще мелкий огрех. В выводе преобразованного массива Вы ставите
write(m[i],'')
Два слитных апострофа ничего не дают, все числа при выводе слепляются. Нужно, чтобы был хотя бы один пробел, то есть так:
write(m[i],' ')
Vladimir_S вне форума   Ответить с цитированием
Старый 11.04.2011, 22:12   #5 (permalink)
corpions
Новичок
 
Регистрация: 11.04.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир...я лично не смыслю в этих задач... меня просто попросили помоч...просто перекопируй те мне пожалуйста эту задачу с Вашими исправлениями ???
corpions вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 11.04.2011, 22:32   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от corpions Посмотреть сообщение
Владимир...я лично не смыслю в этих задач... меня просто попросили помоч...просто перекопируй те мне пожалуйста эту задачу с Вашими исправлениями ???
Да пожалуйста:
Код:
program Lex;
uses crt;
var
 m:array[1..100]of integer;
 i,n,min:integer;

begin
 clrscr;
 write('Vvedite kol-vo elementov massiva -> ');
 readln(n);
 writeln('Vvedite massiv ');
 for i:=1 to n do read(m[i]);
 readln;
 min:=1;
 for i:=1 to n do if m[i]<m[min] then min:=i;

 for i:=min to n do m[i-min+1]:=m[i];
 n:=n-min+1;
 for i:=1 to n do write(m[i],' ');
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 11.04.2011, 22:50   #7 (permalink)
corpions
Новичок
 
Регистрация: 11.04.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Чисто для интереса какие пораметры можно там ввести ?я имею в ввиду пример ???
*последний вопрос и я вам буду очень признателен и крайне блогадарен*
corpions вне форума   Ответить с цитированием
Старый 12.04.2011, 09:31   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от corpions Посмотреть сообщение
Чисто для интереса какие пораметры можно там ввести ?я имею в ввиду пример ???
*последний вопрос и я вам буду очень признателен и крайне блогадарен*
Сначала - количество чисел, например, 10.
Потом вводите 10 ЦЕЛЫХ чисел, разделенных пробелом, и жмете "Enter". Числа должны быть не слишком большими, между -32000 и 32000.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 23:10.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.