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

Отразить элементы массива! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Файл: Поменять местами минимальный и максимальный элементы. http://www.cyberforum.ru/cpp-beginners/thread551821.html
Дан файл вещественных чисел. Поменять в нём местами минимальный и максимальный элементы. На ум приходит только перенести все числа в массив, поменять в нём местами мин. и макс. элементы, внести полученный результат в файл. Но как это реализовать?
C++ Простенькая для вас задача посмотрите если не трудно Дано натуральное число n (n<10000). Определить сколько цифр в числе, найти первую цифру числа, найти предпоследнюю цифру числа. P.s Только важное условие чтобы при невыполнении условий, программа не работала. Есть похожая программа для n<100 , но я чайник не могу переделать, помогите пожалуйста. #include <stdio.h> #include <conio.h> #include <stdlib.h> int digits(int x) http://www.cyberforum.ru/cpp-beginners/thread551814.html
C++ Сортировка подсчетом
Доброго времени суток. Написал код, вот только выдает ошибку: error C2061: синтаксическая ошибка: идентификатор "a". error C2061: синтаксическая ошибка: идентификатор "b" (строки 26 и 35). Подскажите как исправить. Задача звучит так: Сортировка подсчетом. Выходной массив заполняется значениями “-1”. Затем для каждого элемента определяется его место в выходном массиве путем подсчета количества...
invalid operands of types 'double' and 'int' to binary 'operator%' C++
В строке где If выдает вот эту ошибку 2 раза: invalid operands of types 'double' and 'int' to binary 'operator%' #include <iostream> #include <cmath> using namespace std; int main() {
C++ Для заданных вещественных чисел а, b, c определить, имеет ли уравнения ax2+bx+c=0, хотя бы одно вещественное решение. http://www.cyberforum.ru/cpp-beginners/thread551766.html
Для заданных вещественных чисел а, b, c определить, имеет ли уравнения ax2+bx+c=0, хотя бы одно вещественное решение. помогите решить на с++
C++ Вычислить сумму квадратов всех элементов заданного массива A(N), за исключением элементов, кратных пяти. Вычислить сумму квадратов всех элементов заданного массива A(N), за исключением элементов, кратных пяти. подробнее

Показать сообщение отдельно
Serg92
Сообщений: n/a
18.04.2012, 17:55     Отразить элементы массива!
Помогите пожалуйста!

Вот исходное задание: Задан массив A(M), число элементов которого кратно N. Отразить каждую группу из N элементов. Элементы массива – вещественные числа в диапазоне ±1000, M - целое число в диапазоне [2, 20], N - целое число в диапазоне [1, 20]

Например: М=8, N=4, Исходный массив : 0 1 2 3 4 5 6 7
Отражённый массив 3 2 1 0 7 6 5 4
Если M не кратно N, выдать сообщение об ошибке!

Это я сделал! Теперь нужно, чтобы программа отражала элементы массива даже тогда, когда M не кратно N. Например: М=10, N=4, Исходный массив: 0 1 2 3 4 5 6 7 8 9
Отражённый массив 3 2 1 0 7 6 5 4 9 8
Помогите, очень прошу! У меня с массивами не очень!

Вот код, где массив отражается, когда M кратно N.

C++ (Qt)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "stdafx.h"
#include "testing.h" 
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    //Исходный массив
    int a[20];
    //Размерность массива
    int M,N;
 
    //Ввод размерности массиваgg
 
    input_printf("input N = ");
    scanf("%d", &N);
 
    input_printf("array size = ");
    scanf("%d", &M);
 
    //ПРоверка, не выходит ли размерность массива за заданные рамки
    if(M < 2 || M > 20)
    {
        error_printf("invalid array size !!!");
        WAIT_ANY_KEY
            return 0;
    }
 
    if(N>M || N<1 || N>20)
    {
        error_printf("invalid N !!!");
        WAIT_ANY_KEY
            return 0;
    }
    
    //Проверяем, кратно ли M
    if(M % N !=0)
    {
        error_printf("n ne cratno");
        return 0;
    }
 
    //Ввод исходного массива размерностью М
    for(int i = 0; i < M; i++)
    {
        input_printf("input a[%d] =",i);
        scanf("%d",&a[i]);
        //Проверка, не выходит ли число за диапазон
        if(a[i]>1000 || a[i] < -1000)
        {
            error_printf("out of range !!!");
            WAIT_ANY_KEY
                return 0;
        }
    }
    int i=0, j = 0, k=0;
 
    while(i < M)
    {
        if(i<j*N+(int)((N)/2))
        {
            a[i] += a[i - k + N - 1 - k]; 
            a[i - k + N - 1 - k] = a[i] - a[i - k + N - 1 - k] ; 
            a[i] = a[i] - a[i - k + N - 1 - k] ; 
            k++;
        }
        printf("%d",a[i]);
        i++;
        if(i%N == 0)
        {
            k = 0;
            j++;
        }
    }
    return 0;
}
Добавлено через 1 час 18 минут
Помогите, очень нужно! Всего лишь небольшая модификация!(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru