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

В одномерном массиве вычислить минимальный по модулю элемент массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Можно ли в char поместить больше одной буквы? http://www.cyberforum.ru/cpp-beginners/thread759865.html
Вот у меня прога, которая переводит из сантиметров в дюймы и наоборот. В switch нужно ввести 1 букву, чтобы оно определило действие. Возможно ли(и если возможно, то как) сделать, чтобы char принимал не одну букву, а несколько? #include <iostream> using namespace std; void main() { char a; float b=2.54, c; cout<<"Input \"i\" if you want translate inch(es) to centimeter(s)\n";...
C++ написать программу которая суммирует матрицы Напишите программу, которая суммирует матрицы. Размер матриц произвольный. Значения вводятся с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread759862.html
Создать два массива: в одном хранятся чётные элементы исходного, в другом – нечётные C++
3. Написать программу, которая из случайно заполненного массива из 50 элементов создаёт два массива: в одном массиве хранятся чётные элементы, в другом – нечётные. Также необходимо вывести количество чётных и нечётных элементов массива
C++ Динамически распределение памяти. Матрицы. Найти максимальный ниже побочной диагонали, и минимальный главной диагонали
В матрице n-го порядка найти максимальный среди элементов , лежащих ниже побочной диагонали, и минимальный среди элементов , лежащих выше главной диагонали.
C++ Как выводить в консоль следующим образом http://www.cyberforum.ru/cpp-beginners/thread759838.html
Помогите пожалуйста, возможно ли сделать так: В первой строке всегда вводятся какие-то данные пользователем с клавиатуры, причем то, что вводится не выводилось на экран (т.е. сколько бы кнопок он не нажимал, ничего не появлялось, просто мигал курсор) а некоторый вывод происходил допустим на 3-4 строчки ниже
C++ Напечатать все слова , которые встречаются в исходной строке ровно один раз Дана производная строка, слова в которой разделены пробелами. Напечатать все слова , которые встречаются в исходной строке ровно один раз. подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.01.2013, 01:32     В одномерном массиве вычислить минимальный по модулю элемент массива
Да, не заметил, что массив должен быть одномерным (но выводит программа, всё согласно условию):
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* В одномерном массиве, состоящем из n целых элементов, вычислить:
   1) минимальный по модулю элемент массива;
   2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
   3) Преобразовать массив таким образом, чтобы в первой его половине располагались элементы,
   стоявшие в четных позициях, а во второй половине – элементы, стоявшие в нечетных 
   позициях и распечатать их адреса. */
 
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
#define SIZE 100 // размер массива
 
int main()
{
    // Генерация массива случайными значениями
    int *arr = new int[SIZE];
    int *arr_h = new int[SIZE];
    register size_t i;
 
    srand(time(0));
    cout << "We have array:\n";
    for (i = 0; i < SIZE; ++i) {
        arr_h[i] = i;
        cout << (arr[i] = (i % 2) ? (rand() % 100) * -1 : rand() % 100);
        // Отобразим по 10 элементов в столбце
        cout << ((i % 10 == 9) ? '\n' : ' ');
    }
    cout << '\n';
    // Найдём минимальный элемент по модулю (индекс)
    int abs_min;
    for (i = 1, abs_min = 0; i < SIZE; ++i) {
        if (abs(arr[i]) < abs(arr[abs_min]))
            abs_min = i;
    }
    cout << "Index of mininal value (" << arr[abs_min] << ") is " << abs_min << '\n';
    // Найдём сумму модулей эелементов массива послу "нулевого" элемента
    int abs_sum = 0;
    bool state = false;
    for (i = 0; i < SIZE; ++i) {
        if (arr[i] == 0)
            state = true;
        if (state)
            abs_sum += abs(arr[i]);
    }
    cout << "Sum of absolute values is " << abs_sum << '\n' << endl;
    // Отсортируем массив
    register size_t j;
    int temp, itmp;
    for (i = 0, j = SIZE - 1; i <= j; ++i, --j) 
        if (i % 2) {
            itmp = arr_h[i];
            temp = arr[i];
            arr_h[i] = arr_h[j];
            arr[i] = arr[j];
            arr_h[j] = itmp;
            arr[j] = temp;
        }
    // Отобразим индексы
    cout << "Show indexes:\n";
    for (i = 0; i < SIZE; ++i) {
        cout << arr_h[i];
        cout << ((i % 10 == 9) ? '\n' : ' ');
    }
 
    delete [] arr_h;
    delete [] arr;
 
    return 0;
}
 
Текущее время: 18:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru