• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Не знаю как решить задачи на паскале, помогите пожалуйста!

Машуня

Ученик
Регистрация
6 Май 2010
Сообщения
11
Реакции
0
Баллы
0
Не знаю как решить задачи на паскале, помогите пожалуйста!

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

А вторую задачку - уж попробуйте самостоятельно.
 
спасибо большое,что помогли!!!!!попробую решить
 
Подсказка вам - вычисляете разницу между текущим и следующим (можно предыдущим), и сравниваете с минимальной. Если меньше, то минимальной разнице присваиваете текущую
 
Спасибо большое, с вашей помощью я решила!Ещё раз спасибо!!!
 
2.Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы
вводятся с клавиатуры. Найти минимальную разницу между двумя элементами
массива. Результат вывести на экран.
А как можно с клавиаутуры ввести размер массива ?
 
А как можно с клавиаутуры ввести размер массива ?
Да просто объявить исходный размер массива "с запасом", потом обычным образом ввести 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;
 ...
 
То, что мы вводим с клавиатуры, присваивается некоторой переменной.
Размер массива в разделе описания переменных должен не может быть определен переменной. Так что задавайте максимальный размер для задачи (100), а работать будете с N элементами (n введете с клавиатуры)
 
Назад
Сверху