С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3

Перечисляемый тип данных. Определить какой месяц и на каком острове самый холодный

19.12.2013, 07:12. Показов 1551. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие:
Даны следующие типы данных:
type
island= (barbados, gaiti, grenada, kuba, martinika, jamaika);
month= (jan,feb,march,apr,may,june,july,aug,sep ,okt,nov,dec);
var
t:array[island,month] of real;
i:island;
m:month;
Элемент t[x,y] означает среднемесячную температуру на острове x в месяце y. Определить, какой месяц (m) и на каком острове (i) самый холодный.

Ну так вот, я написал половину, если даже не больше и не могу понять как заставить работать последний case
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
uses
    crt;
const
     x=34;
type
    island = (Barbados,  Gaiti, Grenada, Kuba, Martinika, Jamaika);
    Month = (Jan, Feb, March, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec);
var
   t:array[island,month] of real;
   i:island;
   m:month;
   y:integer;
   min:real;
begin
     for i:=Barbados to Jamaika do
         begin
              y:=1;
              clrscr;
              begin
                   case i of
                        barbados : writeln('Введите температуру Барбадоса за: ');
                        Gaiti : writeln('Введите температуру Гаити за: ');
                        Grenada : writeln('Введите температуру Гренады за: ');
                        Kuba :  writeln('Введите температуру Кубы за: ');
                        Martinika : writeln('Введите температуру Мартиники за: ');
                        Jamaika : writeln('Введите температуру Ямайки за: ');
                   end;
                       for m:= jan to dec do
                           begin
                                y:=y+1;
                                gotoxy (x,y);
                                case m of
                                       jan:write('Январь:  ');
                                       feb:write('Февраль: ');
                                       march:write('Март:    ');
                                       apr:write('Апрель:  ');
                                       may:write('Май:     ');
                                       June:write('Июнь:    ');
                                       july:write('Июль:    ');
                                       aug:write('Август:  ');
                                       sep:write('Сентябрь:');
                                       oct:write('Октябрь: ');
                                       Nov:write('Ноябрь:  ');
                                       dec:write('Декабрь: ');
                                end;
                                read(t[i,m]);
                           end;
              end;
         end;
         begin
              clrscr;
              writeln('Помесячная температура за год на островах: ');
              for i:= barbados to jamaika do
                  begin
                       for m:= jan to dec do
                           begin
                                write(t[i,m]:6:1);
                           end;
                       writeln;
                  end;
         end;
         begin
              min:=t[barbados,jan];
              for i:= barbados to jamaika do
                  begin
                       for m:= jan to dec do
                           begin
                                if min>t[i,m] then min:=t[i,m];
                           end;
                  end;
              write(min);
         end;
         begin
              for i:= Barbados to Jamaika do
                  if t[i,m]=min then
                     begin
                          case i of
                               barbados : writeln('Барбадос ');
                               Gaiti : writeln('Гаити');
                               Grenada : writeln('Гренада');
                               Kuba :  writeln('Куба');
                               Martinika : writeln('Мартиника');
                               Jamaika : writeln('Ямайка');
                          end;
                              for m:= Jan to Dec do
                                  if t[i,m]=min then
                                     case m of
                                            jan:write('Январь');
                                            feb:write('Февраль');
                                            march:write('Март');
                                            apr:write('Апрель');
                                            may:write('Май');
                                            June:write('Июнь');
                                            july:write('Июль');
                                            aug:write('Август');
                                            sep:write('Сентябрь');
                                            oct:write('Октябрь');
                                            Nov:write('Ноябрь');
                                            dec:write('Декабрь');
                                     end;
                     end;
                          
         end;
 
end.
Т.е. я хочу чтоб в последнем case была проверка какой месяц на каком острове самый холодный, прошу помочь и если можно объяснить как это работает, уже 2 неделю голову ломаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2013, 07:12
Ответы с готовыми решениями:

Перечисляемый тип данных. Определить какой месяц и в какой столице самый теплый
type Cap = (Moscow, Berlin, London, Vena); Month = (Apr, May, Jun, Jul, Aug, Sep); var t: array of real; c: Cap; ...

Определить, какой сначала был день самый тёплый или самый холодный
Помогите с задачей: В массив занесена информация о температуре за неделю. Определить, какой сначала был день самый тёплый или самый...

Определить, какой сначала был день самый тёплый или самый холодный?
Динамическая память. В массив занесена информация о температуре за неделю. Определить, какой сначала был день самый тёплый или самый...

4
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.12.2013, 07:32
Вот как-то писал такое, только вместо островов, страны
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
uses crt;
type strana=(a,d,pr,k,y,pl);
     mesyac=(jn,f,mr,ap,mj,yn,yl,av,s,o,n,dc);
const st:array[strana] of string[6]=
('Англия','Дания','Перу','Кения','Япония','Польша');
var temp:array[strana,mesyac] of real;
    i,imn:strana;
    j:mesyac;
    mn,sr:real;
begin
clrscr;
temp[a,jn]:=-2.3;temp[a,f]:=-0.3;temp[a,mr]:=5.6;temp[a,ap]:=14.3;
temp[a,mj]:=16.3;temp[a,yn]:=20.3;temp[a,yl]:=22.3;temp[a,av]:=22.3;
temp[a,s]:=11.3;temp[a,o]:=10.3;temp[a,n]:=0.3;temp[a,dc]:=-10.5;
temp[d,jn]:=-3.3;temp[d,f]:=-2.3;temp[d,mr]:=4.6;temp[d,ap]:=13.3;
temp[d,mj]:=15.3;temp[d,yn]:=18.3;temp[d,yl]:=20.3;temp[d,av]:=20.3;
temp[d,s]:=10.3;temp[d,o]:=9.3;temp[d,n]:=-1.3;temp[d,dc]:=-12.5;
temp[pr,jn]:=23.3;temp[pr,f]:=12.3;temp[pr,mr]:=14.6;temp[pr,ap]:=13.3;
temp[pr,mj]:=5.3;temp[pr,yn]:=8.3;temp[pr,yl]:=0.3;temp[pr,av]:=0.3;
temp[pr,s]:=2.3;temp[pr,o]:=9.3;temp[pr,n]:=11.3;temp[pr,dc]:=22.5;
temp[k,jn]:=23.3;temp[k,f]:=32.3;temp[k,mr]:=24.6;temp[k,ap]:=33.3;
temp[k,mj]:=25.3;temp[k,yn]:=28.3;temp[k,yl]:=30.3;temp[k,av]:=30.3;
temp[k,s]:=20.3;temp[k,o]:=19.3;temp[k,n]:=11.3;temp[k,dc]:=22.5;
temp[y,yn]:=-3.3;temp[y,f]:=-2.3;temp[y,mr]:=4.6;temp[y,ap]:=13.3;
temp[y,mj]:=25.3;temp[y,yn]:=28.3;temp[y,yl]:=22.3;temp[y,av]:=20.3;
temp[y,s]:=10.3;temp[y,o]:=9.3;temp[y,n]:=-1.3;temp[y,dc]:=-12.5;
temp[pl,yn]:=-8.3;temp[pl,f]:=-6.3;temp[pl,mr]:=1.6;temp[pl,ap]:=13.3;
temp[pl,mj]:=15.3;temp[pl,yn]:=21.3;temp[pl,yl]:=24.3;temp[pl,av]:=20.3;
temp[pl,s]:=10.3;temp[pl,o]:=9.3;temp[pl,n]:=-1.3;temp[pl,dc]:=-12.5;
sr:=0;
for j:=jn to dc do
sr:=sr+temp[a,j];
mn:=sr/12;
imn:=a;
for i:=a to pl do
 begin
  sr:=0;
  for j:=jn to dc do
  sr:=sr+temp[i,j];
  if sr/12<mn then
   begin
    mn:=sr/12;
    imn:=i;
   end;
 end;
writeln('Tablica temperatyr:');
for i:=a to pl do
 begin
  write(st[i]:6);
  for j:=jn to dc do
  write(temp[i,j]:6:1);
  writeln;
 end;
writeln;
write('Samaya nizkaya temperatura v ',st[imn]);
readln
end.
0
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3
19.12.2013, 07:36  [ТС]
Классный вариант, но у меня преподаватель именно с использованием case просит. У меня уже все работает, и выводит самый холодный месяц, но остров никак не хочет... не знаю что делать
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.12.2013, 07:43
Цитата Сообщение от nosofast1 Посмотреть сообщение
с использованием case просит
Не понимаю зачем это, если данные в двухмерном массиве... Просто найти минимум и координаты в таблице.
0
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3
19.12.2013, 07:45  [ТС]
Извините, ответ придумал =) перечитывал и понял что не там поставил цикл
вот окончательный результат (вдруг у кого будет такая же проблема):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
uses
    crt;
const
     x=34;
type
    island = (Barbados,  Gaiti, Grenada, Kuba, Martinika, Jamaika);
    Month = (Jan, Feb, March, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec);
var
   t:array[island,month] of real;
   i:island;
   m:month;
   y:integer;
   min:real;
begin
     for i:=Barbados to Jamaika do
         begin
              y:=1;
              clrscr;
              begin
                   case i of
                        barbados : writeln('Введите температуру Барбадоса за: ');
                        Gaiti : writeln('Введите температуру Гаити за: ');
                        Grenada : writeln('Введите температуру Гренады за: ');
                        Kuba :  writeln('Введите температуру Кубы за: ');
                        Martinika : writeln('Введите температуру Мартиники за: ');
                        Jamaika : writeln('Введите температуру Ямайки за: ');
                   end;
                       for m:= jan to dec do
                           begin
                                y:=y+1;
                                gotoxy (x,y);
                                case m of
                                       jan:write('Январь:  ');
                                       feb:write('Февраль: ');
                                       march:write('Март:    ');
                                       apr:write('Апрель:  ');
                                       may:write('Май:     ');
                                       June:write('Июнь:    ');
                                       july:write('Июль:    ');
                                       aug:write('Август:  ');
                                       sep:write('Сентябрь:');
                                       oct:write('Октябрь: ');
                                       Nov:write('Ноябрь:  ');
                                       dec:write('Декабрь: ');
                                end;
                                read(t[i,m]);
                           end;
              end;
         end;
         begin
              clrscr;
              writeln('Помесячная температура за год на островах: ');
              for i:= barbados to jamaika do
                  begin
                       for m:= jan to dec do
                           begin
                                write(t[i,m]:6:1);
                           end;
                       writeln;
                  end;
         end;
         begin
              min:=t[barbados,jan];
              for i:= barbados to jamaika do
                  begin
                       for m:= jan to dec do
                           begin
                                if min>t[i,m] then min:=t[i,m];
                           end;
                  end;
         end;
          begin
              for i:= Barbados to Jamaika do
                     begin
                          for m:= Jan to Dec do
                              begin
                          if t[i,m]=min then
                          case i of
                               barbados : writeln('Барбадос');
                               Gaiti : writeln('Гаити');
                               Grenada : writeln('Гренада');
                               Kuba :  writeln('Куба');
                               Martinika : writeln('Мартиника');
                               Jamaika : writeln('Ямайка');
                               end;
                                  begin
                                  if t[i,m]=min then
                                     case m of
                                          jan:write('Январь');
                                          feb:write('Февраль');
                                          march:write('Март');
                                          apr:write('Апрель');
                                          may:write('Май');
                                          June:write('Июнь');
                                          july:write('Июль');
                                          aug:write('Август');
                                          sep:write('Сентябрь');
                                          oct:write('Октябрь');
                                          Nov:write('Ноябрь');
                                          dec:write('Декабрь');
                                     end;
                                  end;
                     end;
                     end;
         end;
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2013, 07:45
Помогаю со студенческими работами здесь

В массиве информация о температуре за неделю. Определить, какой сначала был день: самый теплый или холодный
Динамическая память.В массив занесена информация о температуре за неделю. Определить, какой сначала был день самый тёплый или самый...

Определить самый жаркий и самый холодный день
Помогите решить данную задачку.. &quot;Используя веб-технологии определить самый жаркий и самый холодный день прошедшей недели, если известна...

определить самый холодный будний день октября
В журнале метеостанции записаны ежедневные температуры воздуха в г. Смоленске. Определить самый холодный будний день октября 1997 г., если...

Тупой вопрос какой самый большой целочисленный тип данных??
В чистом С по ходу unsigned long, а в Visual?? Надо засунуть в переменную 2 в 62 степени((( это - 4611686018427387904 В...

Определить самый холодный день января и дни, когда был мороз
Даны показатели температуры воздуха ежедневно января. Определить САМЫЙ ХОЛОДНЫЙ день января и дни, когда БЫЛ мороза. . (+3; +2; +1, 0, -4;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru