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

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Одномерный массив (http://www.tehnari.ru/f41/t106316/)

brickbazuka 12.01.2016 18:50

Одномерный массив
 
1. Одномерный массив А длиной N<=20 заполнить случайными числами из диапазона [–10..55]. Составить программу определения:
• первого максимального элемента массива;
• количество максимальных элементов в массиве;
• всех элементов, кратных 3-м или 5-и.
2. Дан одномерный массив. Переместить нулевые элементы массива в конец, сдвинув остальные элементы влево.
3. Имеются сведения о количестве проданных билетов в 17-ти вагонах поезда. Найти наименее загруженный вагон, учитывая, что количество мест в вагоне зависит от типа вагона: в мягком и купейном вагонах — по 36 мест, а в плацкартном — 46 мест.

brickbazuka 12.01.2016 18:52

Если не трудно помогите, вообще не понимаю как выполнить эти задания.
Каждую программу написать с использованием подпрограмм (процедуры или функции)
1. Дано натуральное число. Найти первую и последнюю цифры числа.
2. Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N.
3. Составить программу для проверки, можно ли заданное натуральное число N представить в виде куба простого числа.

brickbazuka 12.01.2016 19:13

Помогите пожалуйста!Pascal ABC, нужно сдать срочно до сессии.
 
Цитата:

Сообщение от brickbazuka (Сообщение 1197793)
1. Одномерный массив А длиной N<=20 заполнить случайными числами из диапазона [–10..55]. Составить программу определения:
• первого максимального элемента массива;
• количество максимальных элементов в массиве;
• всех элементов, кратных 3-м или 5-и.
2. Дан одномерный массив. Переместить нулевые элементы массива в конец, сдвинув остальные элементы влево.
3. Имеются сведения о количестве проданных билетов в 17-ти вагонах поезда. Найти наименее загруженный вагон, учитывая, что количество мест в вагоне зависит от типа вагона: в мягком и купейном вагонах — по 36 мест, а в плацкартном — 46 мест.

Буду признателен!

Евгений 12.01.2016 22:46

1. Одномерный массив А длиной N<=20

Код:

type Tmass=array[1..20] of integer;
var
    A:Tmass;
    n,i,max,mk,mt,mp:integer;
begin
      repeat
        Write('Razmer massiva 0<n<=20 = ');
        Readln(n);
      until (n>0) and (n<=20);
    Randomize;
      for i:=1 to n do
      begin
        A[i]:=Random(56)-10;
        Write(a[i]:4);
      end;
      Writeln;
    max:=-MaxInt;
    mk:=0; mt:=0; mp:=0;
      for i:=1 to n do
      begin
        if A[i]>max
          then
          begin
            max:=a[i];
            mk:=1;
          end
          else
          if A[i]=max
            then Inc(mk);
        if (A[i] mod 3)=0 then Inc(mt);
        if (A[i] mod 5)=0 then Inc(mp);
      end;
      Writeln('Max = ',max);
      Writeln('Max.elementov = ',mk);
      Writeln('Kratnih 3 = ',mt);
      Writeln('Kratnih 5 = ',mp);
    Readln;
end.


Евгений 12.01.2016 23:17

1. Дано натуральное число. Найти первую и последнюю цифры числа.

Вариант 1:

Код:

procedure Poisk(an:LongInt);
var  p,t:integer;
begin
    t:=an mod 10;
      While an<>0 do
      begin
        p:=an mod 10;
        an:=an div 10;
      end;
      Writeln('Pervaya cifra    = ',p);
      Writeln('Poslednyaya cifra = ',t);
end;
var  n:LongInt;
begin
      Write('Cislo = ');
      Readln(n);
        Poisk(n);
    Readln;
end.

Вариант 2:

Код:

procedure Poisk(as:string);
var p,t,i:integer;
begin
    p:=Ord(as[1])-Ord('0');
    i:=Length(as);
      t:=Ord(as[i])-Ord('0');
    Writeln('Pervaya cifra    = ',p);
    Writeln('Poslednyaya cifra = ',t);
end;
var  s:string;
begin
    Writeln('Cislo:');
      Readln(s);
      Writeln;
        Poisk(s);
    Readln;
end.


Евгений 12.01.2016 23:40

2. Дан одномерный массив. Переместить нулевые элементы массива в конец, сдвинув остальные элементы влево.

Код:

const n=15;
var a:array[1..n] of integer;
    i,j,t:integer;
begin
    Writeln('Massiv:');
      Writeln;
      Randomize;
      for i:=1 to n do
        begin
          a[i]:=Random(3)-1;
          Write(a[i]:4);
        end;
          Writeln; Writeln;
      t:=n;
      for i:=n downto 1 do
      if a[i]=0 then
        begin
          for j:=i to n-1 do
          a[j]:=a[j+1];
          a[n]:=0;
          Dec(t);
        end;
      if t=n
      then Writeln('Net nulevih elementov')
      else
        begin
          Writeln('Massiv posle sdviga:');
          Writeln;
          for i:=1 to n do
          Write(a[i]:4);
          Writeln;
        end;
      Readln;
end.


Евгений 13.01.2016 00:04

2. Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N.

Код:

function Poisk(an:integer):integer;
var  a,b,c,x:integer;
begin
    x:=0;
      for a:=1 to 9 do
      for b:=0 to 9 do
        for c:=0 to 9 do
        if (a+b+c)=an
          then Inc(x);
    Poisk:=x;
end;
var  n:integer;
begin
      Write('N = ');
      Readln(n);
        Writeln;
        Writeln('Cisel = ',Poisk(n));
    Readln;
end.


brickbazuka 13.01.2016 15:17

Спасибо большое!


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

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