Форум программистов, компьютерный форум CyberForum.ru

Задание на массиф - C++

Восстановить пароль Регистрация
 
Student_12
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 13
12.11.2012, 17:55     Задание на массиф #1
Задан массив Z(m) целых чисел. Если массив является
знакочередующимся, то упорядочить его в порядке возрастания модулей,
если нет, то упорядочить его по убыванию. После преобразования удалить
из массива все простые числа. Вывести массив до и после
12
преобразований.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 17:55     Задание на массиф
Посмотрите здесь:

C++ Задание по C
C++ Задание!
C++ задание
C++ Задание по С.
Задание на массив и задание на матрицу. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.11.2012, 18:20     Задание на массиф #2
Цитата Сообщение от Student_12 Посмотреть сообщение
Вывести массив до и после
12
преобразований.
каких преобразований?

Добавлено через 7 минут

Не по теме:

массиВ

Student_12
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 13
12.11.2012, 18:25  [ТС]     Задание на массиф #3
Опечатка. До и после преобразованиий. Тех что в самом задании, т.е "Если массив является
знакочередующимся, то упорядочить его в порядке возрастания модулей,
если нет, то упорядочить его по убыванию. После преобразования удалить
из массива все простые числа."
Лично я так понимаю.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.11.2012, 18:38     Задание на массиф #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#include <stdlib.h>
int compareToRise (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
int compareToFall (const void * a, const void * b)
{
  return ( *(int*)b - *(int*)a );
}
int isSigned(const int* a, int sz){
    int i;
    for (i=1; i<sz; i++)
    if (((a[i]<=0)&&(a[i-1]<=0))||((a[i]>=0)&&(a[i-1]>=0))) return 0;
    return 1;
    }
int isPrime(const int N){
    int divisor=3;
    if (!(N&1)) return 0;
    while(divisor*divisor<=N){
                             if (N%divisor) return 0;
                             divisor+=2;
                             }
    return 1;
    
    }
int removePrimes(int* a, int N){
    int i, j;
    for (i=1; i<N; i++)
      if (isPrime(a[i]))
        {
                        N--;
                        for (j=i; j<N; j++)
                          a[j]=a[j+1];
        }
    return N;
}
void print_array(const int* a, const int N){
     int i;
     for (i=0; i<N; i++)
     printf("%d, ", a[i]);
     printf("\n");
}
int main(){
  int Z[10]={-5, 4, -8, 6, -1, 2, -45, 1, -7, 5};
  int N;
  N=10;
  //int Z[10]={5, 4, 8, 6, 1, 2, 45, 1, 7, 5};
  printf("BEFORE:");  print_array(Z, N);
  if (isSigned(Z, 10))qsort(Z, N, sizeof(int), compareToRise);
  else                qsort(Z, N, sizeof(int), compareToFall);
  N=removePrimes(Z, N);
  printf("AFTER:");print_array(Z, N);
  scanf("%d", &N);
  return 0;
}
Yandex
Объявления
12.11.2012, 18:38     Задание на массиф
Ответ Создать тему
Опции темы

Текущее время: 20:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru