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

Массив: В массиве из 20 элементов расставить по возрастанию только четные - C++

Восстановить пароль Регистрация
 
boris
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 5
11.04.2012, 21:17     Массив: В массиве из 20 элементов расставить по возрастанию только четные #1
В массиве из 20 элементов целого типа расставить по возрастанию только четные. Обязательное использование хотя бы одного указателя.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2012, 21:17     Массив: В массиве из 20 элементов расставить по возрастанию только четные
Посмотрите здесь:

C++ В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов.
В заданном массиве из n элементов отсортировать по возрастанию его часть C++
В упорядоченном по возрастанию массиве подсчитать количество элементов C++
C++ Создать новый массив А1, содержащий все четные элементы массива А, расположенные по возрастанию
C++ Функция, сортирующая сначала нечетные числа в массиве по возрастанию, а потом четные по убыванию.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
11.04.2012, 22:47     Массив: В массиве из 20 элементов расставить по возрастанию только четные #2
Вот держи!
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
# include <vcl.h>
# include <stdio.h>
# include <conio.h>
# include <math.h>
void main()
     {
     int i, j, min, i_min, buf;
     int *n;
     clrscr( );
     printf("Vvedite razmernost' -> ");
     scanf("%d", n);
 
     int *a = new int [*n];
       for (i=0; i<*n; i++)
     {
       printf(" a[%d]= ", i);
       scanf("%d", &a[i]);
     }
 
    for ( i = 0; i < *n; i++)
           {
            min = a[i];
                i_min = i;
        for ( j = i+1; j < *n; j++)
                {
            if((a[j] < min) && (fmod(a[j],2) == 0) && (fmod(min,2) == 0))
                        {
                min = a[j];
                i_min = j;
            }
 
        }
        if (i_min != i)
                {
                        buf = a[i];
            a[i] = a[i_min];
            a[i_min] = buf;
                }
           }
 
     printf("\n Poluchenuy massiv");
     for (i=0; i<*n; i++)
        printf("\n a[%d]=%d", i+1, a[i]);
     getch();
     }
boris
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 5
12.04.2012, 20:21  [ТС]     Массив: В массиве из 20 элементов расставить по возрастанию только четные #3
ошибки вылазят (
vcl.h: No such file or directory.
6 строчка `main' must return `int'
In function `int main(...)':
9 строчка `clrscr' was not declared in this scope
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
12.04.2012, 20:27     Массив: В массиве из 20 элементов расставить по возрастанию только четные #4
Цитата Сообщение от boris Посмотреть сообщение
ошибки вылазят (
vcl.h: No such file or directory.
6 строчка `main' must return `int'
In function `int main(...)':
9 строчка `clrscr' was not declared in this scope
У меня всё работает.
Попробуй :
1-ю строчку удалить
в 5-й void main() заменить на int main(void)
9-ю строчку удалить
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
12.04.2012, 20:32     Массив: В массиве из 20 элементов расставить по возрастанию только четные #5
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
#include <iostream>
#include <algorithm>
using namespace std;
 
bool msort(int a, int b)
{
    if (a % 2 == 0)
        return a < b;
    else
        return false;
}
 
int main(void)
{
    const int n = 20;
    int *arr = new int[n];
 
    for (int i = 0; i != n; ++i)
    {
        cout << "arr[" << i + 1 << "]: ";
        cin >> arr[i];
    }
 
    sort(arr, arr + n, msort);
 
    for (int i = 0; i != n; ++i)
        cout << arr[i] << ' ';
 
    return 0;
}
boris
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 5
12.04.2012, 22:08  [ТС]     Массив: В массиве из 20 элементов расставить по возрастанию только четные #6
спасибо 001_alex
спасибо softmob
=)
Yandex
Объявления
12.04.2012, 22:08     Массив: В массиве из 20 элементов расставить по возрастанию только четные
Ответ Создать тему
Опции темы

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