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


Ответ
 
Опции темы Опции просмотра
Старый 06.05.2010, 19:29   #1 (permalink)
Машуня
Новичок
 
Регистрация: 06.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Не знаю как решить задачи на паскале, помогите пожалуйста!

Спасибо большое, что откликнулись на мою просьбу!!!!
Задачи однотипные, а как решать не знаю!!!!
Помогите!Всего 3 здачи!!
1.С клавиатуры вводится строка длиной N, 2<N<100. Заменить пробелы на ‘_’, а знаки
препинания на пробелы. Результат вывести на экран.
2.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы
вводятся с клавиатуры. Найти минимальную разницу между двумя элементами
массива. Результат вывести на экран.
3.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы
вводятся с клавиатуры. Обнулить все элементы кроме минимального и
максимального. Результат вывести на экран.
Машуня вне форума   Ответить с цитированием

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

Поищите решение проблемы в аналогичных обсуждениях

Помогите, пожалуйста, решить три задачи по Pascal
Помогите пожалуйста решить матрицу в паскале
Помогите решить четыре задачи в Паскале
Помогите пожалуйста решить задачи

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

Цитата:
Сообщение от Машуня Посмотреть сообщение
1.С клавиатуры вводится строка длиной N, 2<N<100. Заменить пробелы на ‘_’, а знаки препинания на пробелы. Результат вывести на экран.
Код:
VAR
 i:INTEGER;
 S:STRING;
BEGIN
 WriteLn('Enter the string:');
 ReadLn(S);
 For i:=1 to Length(S) do
  If S[i]=' ' then Write('_') else
  If (S[i]='.') or (S[i]=',') or (S[i]=';') or (S[i]=':')
  or (S[i]='-') or (S[i]='?') or (S[i]='!') then Write(' ')
  else write (S[i]);
 WriteLn;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 06.05.2010, 21:25   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Машуня Посмотреть сообщение
3.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы вводятся с клавиатуры. Обнулить все элементы кроме минимального и максимального. Результат вывести на экран.
Код:
VAR
 i,N,Min,Max,Imin,Imax:INTEGER;
 A,B:ARRAY[1..100] of INTEGER;
BEGIN
 Write('N= ');
 ReadLn(N);
 Min:=32000;
 Max:=-32000;
 For i:=1 to N do
  begin
   Write('A[',i,']= ');
   ReadLn(A[i]);
   If A[i]<Min then
    begin
     Min:=A[i];
     Imin:=i;
    end;
   If A[i]>Max then
    begin
     Max:=A[i];
     Imax:=i;
    end;
   B[i]:=0;
   end;
 B[Imin]:=A[Imin];
 B[Imax]:=A[Imax];
 For i:=1 to N do
  WriteLn(A[i]:6,B[i]:10);
 ReadLn;
END.
А вторую задачку - уж попробуйте самостоятельно.
Vladimir_S вне форума   Ответить с цитированием
Старый 07.05.2010, 01:04   #4 (permalink)
Машуня
Новичок
 
Регистрация: 06.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое,что помогли!!!!!попробую решить
Машуня вне форума   Ответить с цитированием
Старый 07.05.2010, 01:19   #5 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

Подсказка вам - вычисляете разницу между текущим и следующим (можно предыдущим), и сравниваете с минимальной. Если меньше, то минимальной разнице присваиваете текущую
MrSTEP вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 07.05.2010, 11:16   #6 (permalink)
Машуня
Новичок
 
Регистрация: 06.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое, с вашей помощью я решила!Ещё раз спасибо!!!
Машуня вне форума   Ответить с цитированием
Старый 07.05.2010, 22:02   #7 (permalink)
Linka
Member
 
Аватар для Linka
 
Регистрация: 24.01.2010
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 26
По умолчанию

Цитата:
2.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы
вводятся с клавиатуры. Найти минимальную разницу между двумя элементами
массива. Результат вывести на экран.
А как можно с клавиаутуры ввести размер массива ?
Linka вне форума   Ответить с цитированием
Старый 07.05.2010, 22:09   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Linka Посмотреть сообщение
А как можно с клавиаутуры ввести размер массива ?
Да просто объявить исходный размер массива "с запасом", потом обычным образом ввести N и все циклы обработки элементов массива вести до N.
Код:
Var
 A:ARRAY[1..500] of WORD;
 N,i:INTEGER;
Begin
 Write('N= ');
 ReadLn(N);
 For i:=1 to N do
  A[i]:=1;
 ...
Vladimir_S вне форума   Ответить с цитированием
Старый 07.05.2010, 22:11   #9 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

То, что мы вводим с клавиатуры, присваивается некоторой переменной.
Размер массива в разделе описания переменных должен не может быть определен переменной. Так что задавайте максимальный размер для задачи (100), а работать будете с N элементами (n введете с клавиатуры)
MrSTEP вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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