Написать ** СИ . Составить программу, формирующую одномерный массив, со- стоящий из N...

0 голосов
77 просмотров

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


Информатика (73 баллов) | 77 просмотров
Дан 1 ответ
0 голосов

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

#include

#include


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;

}

(4.0k баллов)
0

не работает(

0

Что именно?

0

for(int i = 0; i < N; i++) выделяет это

0

i < N

0

знпк меньше

0

i ментше N

0

а если у меня не поддерживает С99

0

Тогда эта программа не будет работать. Ибо начиная со стандарта С99 добавлена поддержка массивов переменной длины

0

жаль