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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Список Минимальных цен
сообщение
Сообщение #1





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

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


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

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

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

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


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

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

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


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

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


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





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

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


Я исправила, извините ((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


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


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

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

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


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

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


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


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


mea culpa
*****

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

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


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


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


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

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

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


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

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


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


mea culpa
*****

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

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


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


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





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

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


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

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

Добавлено через 6 мин.
Ладно раз никто помогать не хочет.. 2 так 2..покажу как сделала массив училке и все ((((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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





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

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


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

Добавлено через 18 мин.
не, не получается сортировка у меня (
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





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

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


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


mea culpa
*****

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

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


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


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





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

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


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


mea culpa
*****

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

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


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


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






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

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

 





- Текстовая версия 29.03.2024 0:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name