IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Список Минимальных цен
Таблетка_Счастья
сообщение 23.11.2008 12:31
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Помогите пожалуйста решить задачу..Решила 9ть, а последнюю не могу (( Уже неделю бьюсь над ней (( Никак не получается..

Имеются сведения о названиях и ценах на n=12 видов товаров по m=10 магазинам. Требуется составить список пяти магазинов, имеющих минимальные цены по заданному виду товара. Список должен включать номер магазина, название и цену выставленного товара. Магазины в списке расположить в порядке возрастания товара..

Я Даже массив не могу сформировать ((
Нужно до завтра (((

Сообщение отредактировано: Таблетка_Счастья - 23.11.2008 12:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 12:56
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
Таблетка_Счастья, сделай мне маленькое мое счастье - выполни Правила, п.4 (ссылка вверху страницы).

Кнопка "Изменить" тебе в помощь..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 12:59
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Я исправила, извините ((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 13:12
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Таблетка_Счастья @ 23.11.2008 12:59) *
Я исправила, извините ((

Спасибо! smile.gif

Тут будет не один массив, а два.
1. одномерный массив названий товаров: array [1..12] of string;
2. двумерный массив цен: array [1..10,1..12] of real

Заполни их, а потом ищи минимальные цены.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 13:16
Сообщение #5





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


мы стринг не проходили string
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 13:25
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Таблетка_Счастья @ 23.11.2008 13:16) *
мы стринг не проходили string

О-о! blink.gif
А как ты тогда рассчитываешь задавать названия? Скажи.. я просто даже не знаю..


Добавлено через 3 мин.
Ты уверена, что не проходили?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 16:29
Сообщение #7


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А заполнять надо случайным образом или с клавиатуры?


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 16:34
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 23.11.2008 16:29) *
А заполнять надо случайным образом или с клавиатуры?

Названия случайным образом? smile.gif
Я начал было делать, сделал ввод из файла обоих массивов, но тут леди странно высказалась про строки, а потом и вовсе пропала smile.gif. Ну, ее дело..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 16:37
Сообщение #9


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Ну почему,можно сделать массив с названиями...и случайным образом из него заполнить) Просто я уже сделал фактически и попробовал заполнить с клавиатуры...долгое это занятие smile.gif


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 16:44
Сообщение #10


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 23.11.2008 16:37) *
Просто я уже сделал фактически и попробовал заполнить с клавиатуры...долгое это занятие smile.gif

Погоди, я тебе дам чтение smile.gif..

Вот:
const
n=12;
m=10;

var
Goods: array[1..n]of string;
Price: array[1..m,1..n]of real;
Cheep: set of 1..10;
i,j: integer;
f: text;

begin
Assign(f,'goods.txt');
ReSet(f);
for i:=1 to n do ReadLn(f,Goods[i]);
Close(f);
Assign(f,'price.txt');
ReSet(f);
for i:=1 to n do begin
for j:=1 to m do Read(f,Price[j,i]);
ReadLn(f)
end;
Close(f);

Понятно, что не особая помощь, но хоть что-то.. smile.gif) Коллективный труд!

Добавлено через 8 мин.
Ну и файл с ценами сгенерил, раз уж на то пошло.. smile.gif
Вот:

54.88 59.28 71.52 84.43 60.28 85.79 54.49 84.73 42.37 62.36
64.59 38.44 43.76 29.75 89.18 5.67 96.37 27.27 38.34 47.77
79.17 81.22 52.89 48.00 56.80 39.28 92.56 83.61 7.10 33.74
8.71 64.82 2.02 36.82 83.26 95.72 77.82 14.04 87.00 87.01
97.86 47.36 79.92 80.09 46.15 52.05 78.05 67.89 11.83 72.06
63.99 58.20 14.34 53.74 94.47 75.86 52.18 10.59 41.47 47.36
26.46 18.63 77.42 73.69 45.62 21.66 56.84 13.52 1.88 32.41
61.76 14.97 61.21 22.23 61.69 38.65 94.37 90.26 68.18 44.99
35.95 61.31 43.70 90.23 69.76 9.93 6.02 96.98 66.68 65.31
67.06 17.09 21.04 35.82 12.89 75.07 31.54 60.78 36.37 32.50
57.02 3.84 43.86 63.43 98.84 95.89 10.20 65.28 20.89 63.51
16.13 99.53 65.31 58.19 25.33 41.44 46.63 47.47 24.44 62.35


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 19:31
Сообщение #11





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Там вроде бы подразумевается, что это все уже введено ((

Простите, я на курсы уходила

Добавлено через 6 мин.
Ладно раз никто помогать не хочет.. 2 так 2..покажу как сделала массив училке и все ((((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 19:51
Сообщение #12


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Код
const m=10;
      n=12;
      d=5;
var mas1:array[1..n] of string;
    mas2:array[1..m,1..n] of real;
    mas3:array[1..d] of real;
    a,b:integer;
    buf1,nt:string;
    buf2,x2:real;
    tp,x:integer;
begin
  x:=1;
  for a:=1 to n do
  begin
      buf1:='';
      writeln('Введите наименование товара №',a);
      readln(buf1);
      mas1[a]:=buf1;
  end;
  for a:=1 to m do
  for b:=1 to n do
  begin
    buf2:=0;
    writeln('Введите наименование товара №,b ,'магазина №',a);
    readln(buf2);
    mas2[a,b]:=buf2;
  end;
  buf1:='';
  writeln('Введите название искомого товара.');
  readln(buf1);
  for b:=1 to n do
  begin
    if (buf1=mas1[b]) then begin
                  tp:=b;
                      nt:=mas1[b];
                  break;
                     end;

  end;
  buf1:='';
  x:=1;
  x2:=0;
{Здесь должна быть сортировка :)}


end.


Добавлено через 7 мин.
2Таблетка Счастья, программа немного не доделана, осталось из нужного товара с уже определённой позицией (переменная tp) выбрать 5 наименее дорогих...Это сортировка...Если хочешь, можешь подождать, доделаю наверно.
P.S.Lapp,как же похожи начала программ smile.gif Хотя твоего сообщения я не видел blink.gif

Сообщение отредактировано: Unconnected - 23.11.2008 20:07


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 20:15
Сообщение #13





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


я примерно знаю как делать.. Спасибо большое..Только можешь написать что buf1,nt, buf2,x2 обозначают..Дальше я сама

Добавлено через 18 мин.
не, не получается сортировка у меня (
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 20:39
Сообщение #14


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Сейчас выложу...

Добавлено через 19 мин.
Код
uses crt;
const m=10;
      n=12;
      d=5;
var mas1:array[1..n] of string;
    mas2:array[1..m,1..n] of real;
    mas3:array[1..d] of real;
    mas4:array[1..d] of integer;
    a,b,x2:integer;
    buf1,nt:string;
    buf2,x:real;
    tp:integer;
begin
  clrscr;
  x:=1;
  for a:=1 to n do
  begin
    buf1:='';
    writeln('Введите наименование товара №,a);
    readln(buf1);
    mas1[a]:=buf1;
  end;
  clrscr;
  for a:=1 to m do
  for b:=1 to n do
  begin
    buf2:=0;
    writeln('Введите цену товара №',b ,' магазина №',a);
    readln(buf2);
    mas2[a,b]:=buf2;
  end;
  buf1:='';
  clrscr;
  writeln('Введите название искомого товара ');
  readln(buf1);
  for b:=1 to n do
  begin
    if (buf1=mas1[b]) then begin
                             tp:=b;
                             nt:=mas1[b];
                             break;
                           end;

  end;
  if tp=0 then begin
                       writeln('Искомый товар не найден!!!');
                       readln;
                       halt;
                   end;
  for a:=1 to d do
  begin
    for b:=1 to n-1 do
    begin
      if (mas2[b,tp]<mas2[b+1,tp]) then begin
                                          x:=0;
                                          x:=mas2[b,tp];
                                          if (x<>mas3[1]) and (x<>mas3[2]) and (x<>mas3[3]) and
                                          (x<>mas3[4]) and (x<>mas3[5]) then
                                          begin
                                            buf2:=0;
                                            buf2:=mas2[b,tp];
                                          end;
                                        end;
    end;
  mas3[d]:=buf2;
  end;
  for a:=1 to d-1 do
  begin
    buf2:=0;
    if (mas3[a]>mas3[a+1]) then begin
                                  buf2:=mas3[a+1];
                                  mas3[a+1]:=0;
                                  mas3[a+1]:=mas3[a];
                                  mas3[a]:=0;
                                  mas3[a]:=buf2;
                                end;
  end;
  x2:=1;
  for a:=1 to m do
  begin
    if mas2[a,tp]=mas3[x2] then begin
                                   mas4[x2]:=a;
                                   x2:=x2+1;
                                 end;
  end;
  clrscr;
  for a:=1 to d do
  begin
    writeln('Магазин №',mas4[a] , nt ,' цена ', mas3[a]);
  end;
  readln;
end.


Вот...тестируй... Сразу предупреждаю, может быть неправильно т.к. писал быстро... Прошу других участников форума проверить smile.gif Ввод наименований товаров и цен сделай сама, благо Lapp привёл действующий пример smile.gif


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 21:30
Сообщение #15





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


все пасипа большое! Работает все )))) Теперь все 10 задач решены )))))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 21:31
Сообщение #16


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Точно работает? И правильные результаты выдаёт? blink.gif


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Таблетка_Счастья
сообщение 23.11.2008 21:43
Сообщение #17





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


ну да, вроде правильно делает. А что должна не правильно делать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Unconnected
сообщение 23.11.2008 21:48
Сообщение #18


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Просто у меня никогда всё сразу не работает) Ну значит всё нормально smile.gif


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 24.11.2008 8:03
Сообщение #19


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Таблетка_Счастья @ 23.11.2008 21:30) *
все пасипа большое! Работает все )))) Теперь все 10 задач решены )))))
И непройденный string теперь уже не смущает?.. smile.gif

2 Unconnected:
Детально не смотрел твою прогу, но одна вещь сразу бросается в глаза: зачем ты перед присвоением значения переменной присваиваешь ей ноль??
                                  mas3[a+1]:=0;
mas3[a+1]:=mas3[a];
mas3[a]:=0;
mas3[a]:=buf2;

Это что - тренировка? Когда я увидел это в ответе Гостю, я подумал - просто опечатка. Теперь засомневался.. Почему так? blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 24.11.2008 10:14
Сообщение #20


Гость






Lapp, ладно,знаешь,главное ее сдать..Аучилка пустьсама думает,делали мы это или нет )))
Таблетка_Счастья
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 6:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"