Вторник, 21.05.2024, 05:10
Приветствую Вас, Гость

БИЛЕТ 11.

1)Операция арифметический if.

выр? выр1:выр2

действия: вычисляется выр, если оно true (не ноль), то вычисляется и считается результатом выр1, иначе вычисляется и считается результатом выр2.

a=1; b=2;

a>b ? a=2 : b=1

 

2) Строки в С++: объявление, расположение в памяти, инициализация, передача функциям в качестве параметра.

Строка символов хранится в памяти как массив и заканчивается нулевым символом, доступ к ней осуществляется с помощью указателя типа  char. Указатель указывает на соответствующий строке массив символов.

Char s[длина строки+1]; 0 или ‘\0’. Если 0 в конце не присутствует, то считается, что строка начинается с адреса s и до первого 0 символа, который найдется в строке. Const строки заключается в кавычки. «Hello» длина- 5, sizeof- 6. Длина строк в Си не ограничена. Единственное требование: строка не должна выходить за один сегмент данных. Спецификатор %s.


3.   Найти два самых маленьких элемента в массиве. Указать их значения и индексы.

 

# include <stdio.h>

# include <stdlib.h>

  int mas[10];

  int min1,min2,ind1,ind2;

void main()

{ randomize();

  for (int i=0;i<10;mas[i]=1+random(30),i++);

  min1=(mas[0]<mas[1])?mas[0]:mas[1];

  min2=(mas[0]>mas[1])?mas[0]:mas[1];

  ind1=(mas[0]<mas[1])?0:1;

  ind2=(mas[0]>mas[1])?0:1;

  for (i=2;i<10;i++)

    if (min1>=mas[i])

      { min2=min1;

            ind2=ind1;

            min1=mas[i];

            ind1=i;

      }

    else if (min2>=mas[i])

      { min2=mas[i];

            ind2=i;

      }

}


4.   Найти все простые делители заданного натурального числа n.

 

# include <stdio.h>

void main()

{

  const N=15120;

  long int n=N;

  int mas[10];

  int kol=0;

  for (int i=2;i<=n;)

    {

      if ((n%i)==0)

            {

              mas[kol]=i;

              kol++;

              while ((n%i)==0) n/=i;

            }

      else i++;

    }

}