Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пара задач, очень нужна помощь!

76K
18 ноября 2011 года
lisbasis
5 / / 18.11.2011
1.Дана строка символов. Определить количество слов в строке.
2.Обменять местами в одномерном массиве максимум и минимум, найденные среди элементов массива.
:facepalm:
23K
18 ноября 2011 года
rafaelkyrdan
123 / / 03.05.2011
С Паскалем не знаком но алгоритм такой:
1. Разбить строку по разделителю пробел, слеш... Вставить слова в массив, коллекцию ...Подсчитать длину коллекции, массива
2. а) Вызвать функцию поиска макс и минимум запомнить значения.Вызвать фукцию поиска ключа по значению.Ключу минимального значения присвоить максимальное значение и наоборот.
б)Крутить массив в цикле сравнивать значение по ключам если i>i+1 значит запоминаем ключ i Результат запомнить.Аналогично найти минимальное.Поменять значения у ключей.
244
18 ноября 2011 года
UAS
2.0K / / 19.07.2006
Цитата:
Разбить строку по разделителю пробел, слеш... Вставить слова в массив, коллекцию ...Подсчитать длину коллекции, массива

Да не, задача спокойно решится без коллекций. Последовательный перебор символов и всё.

74K
18 ноября 2011 года
418ImATeapot
11 / / 31.10.2011
По поводу строки - есть функция lenght(s:string):integer.
По поводу массива:
сперва ищешь максимум и минимум (полным просмотром):
 
Код:
Var
 MinInd=1,MaxInd=1,i:integer;
 a:array;

for i:=1 to (длинна массива) do
 if a[MaxInd]<a then MaxInd=i
 else
  if a[MinInd]>a then MinInd=i;

Потом меняешь их местами.
Цитата:
Вызвать функцию поиска макс и минимум запомнить значения.Вызвать фукцию поиска ключа по значению.Ключу минимального значения присвоить максимальное значение и наоборот.


rafaelkyrdan
Это не Python!!! Не путай человека!

76K
18 ноября 2011 года
lisbasis
5 / / 18.11.2011
Друзья! Огромное спасибо за помощь, но из-за того, что я чайник в паскале, желательней поподробнее!) :confused:
244
18 ноября 2011 года
UAS
2.0K / / 19.07.2006
Цитата:
но из-за того, что я чайник в паскале, желательней поподробнее

Не стесняйтесь, скажите прямо: "Я ничего не знаю и думать не хочу. Напишите за меня!".

76K
18 ноября 2011 года
lisbasis
5 / / 18.11.2011
Нет!!! Просто реально очень сложно с нуля почти воспринимать) Уже закопалась в учебной лит-ре и ничего дельного не нашла пока)
23K
18 ноября 2011 года
rafaelkyrdan
123 / / 03.05.2011
Цитата: 418ImATeapot


rafaelkyrdan
Это не Python!!! Не путай человека!



Свой ответ я начал со слов с Паскалем не знаком и предлагаю только решение, что то вроде алгоритма.

74K
18 ноября 2011 года
418ImATeapot
11 / / 31.10.2011
Длинна строки:
У тебя есть строка С. Тогда длинна этой строки обозначена как lenght(С). Ты можешь ее вывести на экран или поделить на ноль по своему усмотрению. Т. Е. lenght(С) - это как переменная, только присваивать нельзя.
 
Код:
var s: string;

BEGIN
  read(s);
  writeln(lenght(s));
END.


С массивом я, кажется уже все разжевал.
Код:
Var
 MinInd,MaxInd,i,buff:integer;
 a:array[1..10] of integer;

BEGIN
for i:=1 to 10 do
 read(a);

for i:=1 to 10 do
 if a[MaxInd]<a then MaxInd:=i
 else
  if a[MinInd]>a then MinInd:=i;
 
 buff:=a[MinInd];
 a[MinInd]=a[MaxInd];
 a[MaxInd]:=a[MinInd];

 
for i:=1 to 10 do
 write(a);

END.
76K
18 ноября 2011 года
lisbasis
5 / / 18.11.2011
Популярно мне понравилось намного больше) Проблема с первой задачей немного не в этом, там же необходимо определить количество слов, а не символов, вот на этом и буксую. В любом случае, огромное спасибо за объяснения
74K
18 ноября 2011 года
418ImATeapot
11 / / 31.10.2011
Извиняюсь!!! Не прочитал...
В принципе:
Код:
var s: string;
     i, count: integer;
     state:byte;

BEGIN
  read(s);
  state:=0;
  count:=1;
  for i:=1 to length(s)-1 do
   if s=' ' then begin
    if state=1 then
     begin
      state:=0;
      count:=count+1;
     end
   end else state:=1;
   writeln(count);
END.

ПС. Извиняюсь за "lenght". С инглишем у меня фигово, сам давно не пользуюсь.
76K
19 ноября 2011 года
lisbasis
5 / / 18.11.2011
Спасибо-спасибо, дальше разберусь,что к чему)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог