Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 23.12.2009, 22:05   #1 (permalink)
Pian1st
Новичок
 
Регистрация: 23.12.2009
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите,пожалуйста, написать программу на Pascal. Работа с массивами

вот собственно задачи
Задача 9. Результаты переписи населения хранятся в памяти ЭВМ. Используя массивы фамилий и года рождения, напечатать фамилии и подсчитать общее число жителей родившихся раньше 1928 года.
Задача 5. Информация о количестве осадков, выпадавших в течение месяца и о температуре воздуха задана в виде двух массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега(если температура больше 0 гардусов, то считать что идет дождь)
Pian1st вне форума   Ответить с цитированием

Старый 23.12.2009, 22:05
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка в похожих топиках вы найдете много полезной для себя информации

Помогите, пожалуйста, написать программу на действия с массивами в Delphi
Помогите написать программу на Pascal
Помогите, пожалуйста, написать программу на Turbo Pascal
Помогите написать программу в Pascal
Помогите написать программу в Pascal
Помогите написать программу в Delphi Pascal

Старый 23.12.2009, 23:40   #2 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Задача 9
Фамилии и год рождения вводятся с клавиатуры или берутся из файла?
Задача 5
Тот же вопрос.
DDS вне форума   Ответить с цитированием
Старый 23.12.2009, 23:42   #3 (permalink)
Pian1st
Новичок
 
Регистрация: 23.12.2009
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

прям в теле проги забиты
Pian1st вне форума   Ответить с цитированием
Старый 23.12.2009, 23:51   #4 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Ок. скоро будет.
DDS вне форума   Ответить с цитированием
Старый 24.12.2009, 00:04   #5 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Код:
const
 fam:array [1..10]of string=('a','b','c','d','f','e','g','h','i','j');
 {нормальные фамилии придумайте сами}
 year:array [1..10]of integer=
 (1990,1900,1920,1950,1960,1901,1904,1915,1999,1800);
 var i,k:byte;
begin
   for i:=1 to 10 do
   if year[i]<1928 then  
                begin
                k:=k+1;
                writeln(fam[i]);
                end;
   writeln('Кол-во жителей родившихся раньше 1928 года ',k);
end.
DDS вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 24.12.2009, 00:27   #6 (permalink)
Pian1st
Новичок
 
Регистрация: 23.12.2009
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

СПАСИБО! а про осадки?
Pian1st вне форума   Ответить с цитированием
Старый 24.12.2009, 00:27   #7 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Код:
  const n=10;
  var i,k_s,k_r:byte;
  kol,temp:array[1..n]of integer;
begin
  randomize;
  for i:=1 to n do
       begin
       kol[i]:=random(10);
       temp[i]:=random(10)-7;{сами подставьте нужные числа}
       end;
   k_s:=0;
   k_r:=0;
   for i:=1 to n do
         begin
         if temp[i]>=0 then k_r:=k_r+kol[i];
         if temp[i]<0 then k_s:=k_s+kol[i];
         end;
writeln(k_s,'   ',k_r);
end.

Последний раз редактировалось DDS; 24.12.2009 в 00:57
DDS вне форума   Ответить с цитированием
Старый 24.12.2009, 00:52   #8 (permalink)
Pian1st
Новичок
 
Регистрация: 23.12.2009
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

че-то не пашет нормально, нули постоянно выдает, думаю не из-за того что я значение randoma меняю
Pian1st вне форума   Ответить с цитированием
Старый 24.12.2009, 00:57   #9 (permalink)
DDS
Member
 
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
По умолчанию

Извиняюсь, ступил массивы должны быть типа integer.
Программу исправил.
DDS вне форума   Ответить с цитированием
Старый 24.12.2009, 01:11   #10 (permalink)
Pian1st
Новичок
 
Регистрация: 23.12.2009
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

и по ходу надо if temp[i]>=0 then k_r:=k_r+kol[i];
if temp[i]<0 then k_s:=k_s+kol[i];
поменять на if temp[i]>=0 then inc(k_r);
if temp[i]<0 then inc(k_s);
потому что находим количество осадков а не сумму
Pian1st вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:01.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.