Gainalii1912
?>

Написать на си . составить программу, формирующую одномерный массив, со- стоящий из n целых элементов. вычислить сумму положительных элемен- тов массива. определить количество элементов, имеющих четные поряд- ковые номера и являющиеся нечетными числами. упорядочить элементы массива по возрастанию.

Информатика

Ответы

unalone5593

Важное замечание: Программа будет работать только при компиляции компилятором, поддерживающим стандарт C99.

#include <stdio.h>

#include <stdlib.h>


int compare(const int* A, const int* B); // компаратор для qsort

int main()

{

   int N;

   

   printf("Введите размер массива: ");

   scanf("%d", &N);

   

   int

       arr[N],

       sum = 0,

       number = 0;

   

   

   for(int i = 0; i < N; i++)

       scanf("%d", &arr[i]);

       

   for(int i = 0; i < N; i++)

       printf("%d ", arr[i]);

   printf("\n");

   for(int i = 0; i < N; i++)

   {

       if(arr[i])

           sum += arr[i];

       if((arr[i] % 3 == 0) && (i % 2 == 0))

           number += 1;

   }

   

   qsort(arr, N, sizeof(int), compare);

   

   for(int i = 0; i < N; i++)

       printf("%d ", arr[i]);

   

   

   printf("\nСумма положительных элементов = %d\n\

   количество элементов, имеющих четные порядковые номера и являющиеся нечетными числами = %d", sum, number);

   return 0;

}


int compare(const int* A, const int* B)

{

   return *A - *B;

}

reception
У вас есть число 137
если вам надо перевести его в какую-нибудь систему счисления, то нужно делить это число на номер системы, так если нужно перевести число 137 в ДВОичную ,то делим на 2 до тех пор, пока остатотк от деления не равен 1.(если в ТРОичную то на 3 и т.д.).
начнём:
137 / 2 = 68 выписываем остаток (1) 
68   / 2 = 34 выписываем остаток (0)
34   / 2 = 17 выписываем остаток (0)
17   / 2 = 8   выписываем остаток (1)
8     / 2 = 4   выписываем остаток (0)
4     / 2 = 2   выписываем остаток (0)
2     / 2 = 1  <==   на этой единице заканчиваем деление, далее снизу вверх выписываем получившееся число : 001001;
ответ: 001001
Sadovskaya425

1) 255₁₀ = 11111111₂

2) 255₁₀ = 377₈

3) 255₁₀ = FF₁₆

4) 397₁₀ = 110001101₂

5) 397₁₀ = 615₈

6) 397₁₀ = 18D₁₆

Объяснение:

1) 255₁₀ = 11111111₂

255 / 2 = 127 + остаток 1

127 / 2 = 63 + остаток 1

63 / 2 = 31 + остаток 1

31 / 2 = 15 + остаток 1

15 / 2 = 7 + остаток 1

7 / 2 = 3 + остаток 1

3 / 2 = 1 + остаток 1

1 / 2 = 0 + остаток 1

записываем остатки снизу вверх

11111111₂ = 1 * 2⁰ + 1 * 2¹ + 1 * 2² + 1 * 2³ + 1 * 2⁴ + 1 * 2⁵ + 1 * 2⁶ + 1 * 2⁷ = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255₁₀

2) 255₁₀ = 377₈

255 / 8 = 31 + остаток 7

31 / 8 = 3 + остаток 7

3 / 8 = 0 + остаток 3

записываем остатки снизу вверх

377₈  = 7 * 8⁰ + 7 * 8¹ + 3 * 8² = 7 + 56 + 192 = 255₁₀

3) 255₁₀ = FF₁₆

255 / 16 = 15 + остаток 15

15 / 16 = 0 + остаток 15

записываем остатки снизу вверх

FF₁₆  = F * 16⁰ + F * 16¹ = 15 + 240 = 255₁₀

4) 397₁₀ = 110001101₂

397 / 2 = 198 + остаток 1

198 / 2 = 99 + остаток 0

99 / 2 = 49 + остаток 1

49 / 2 = 24 + остаток 1

24 / 2 = 12 + остаток 0

12 / 2 = 6 + остаток 0

6 / 2 = 3 + остаток 0

3 / 2 = 1 + остаток 1

1 / 2 = 0 + остаток 1

записываем остатки снизу вверх

110001101₂  = 1 * 2⁰ + 0 * 2¹ + 1 * 2² + 1 * 2³ + 0 * 2⁴ + 0 * 2⁵ + 0 * 2⁶ + 1 * 2⁷ + 1 * 2⁸ = 1 + 4 + 8 + 128 + 256 = 397₁₀

5) 397₁₀ = 615₈

397 / 8 = 49 + остаток 5

49 / 8 = 6 + остаток 1

6 / 8 = 0 + остаток 6

записываем остатки снизу вверх

615₈  = 5 * 8⁰ + 1 * 8¹ + 6 * 8² = 5 + 8 + 384 = 397₁₀

6) 397₁₀ = 18D₁₆

397 / 16 = 24 + остаток 13

24 / 16 = 1 + остаток 8

1 / 16 = 0 + остаток 1

записываем остатки снизу вверх

18D₁₆  = D * 16⁰ + 8 * 16¹ + 1 * 16² = 13 + 128 + 256 = 397₁₀

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать на си . составить программу, формирующую одномерный массив, со- стоящий из n целых элементов. вычислить сумму положительных элемен- тов массива. определить количество элементов, имеющих четные поряд- ковые номера и являющиеся нечетными числами. упорядочить элементы массива по возрастанию.
Ваше имя (никнейм)*
Email*
Комментарий*