Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите,пожалуйста, написать программу на Pascal. Работа с массивами (http://www.tehnari.ru/f41/t31380/)

Pian1st 23.12.2009 22:05

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

DDS 23.12.2009 23:40

Задача 9
Фамилии и год рождения вводятся с клавиатуры или берутся из файла?
Задача 5
Тот же вопрос.

Pian1st 23.12.2009 23:42

прям в теле проги забиты

DDS 23.12.2009 23:51

Ок. скоро будет.

DDS 24.12.2009 00:04

Код:

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.


Pian1st 24.12.2009 00:27

СПАСИБО! а про осадки?

DDS 24.12.2009 00:27

Код:

  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.


Pian1st 24.12.2009 00:52

че-то не пашет нормально, нули постоянно выдает, думаю не из-за того что я значение randoma меняю

DDS 24.12.2009 00:57

Извиняюсь, ступил массивы должны быть типа integer.
Программу исправил.

Pian1st 24.12.2009 01:11

и по ходу надо 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);
потому что находим количество осадков а не сумму


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.