Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 1

Переписать код так, чтобы все вводимые данные кода передавались в качестве функции

22.12.2015, 21:19. Показов 634. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
само задание есть и есть код, только не могу прописать функции. Помогите пожалуйста. По заданию нужно найти min элемент массива. и сумму модулей после первого элемента равного нулю. всё это отсортировано. слева четные, справа нечётные, прога работает. осталось только написать функции. Использование глобальных запрещено. вот сам код
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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    int n,i,sum=0,j,k;
    cout << "Введите количество элементов в массиве: ";
    cin >> n;
    double *arr = new double[n];
    cout << "Введите массив: ";
    for (int i = 0; i<n; i++)
        cin >> arr[i];
    int min = 0;
    for (int i = 0; i < n; i++)
    {{
            if (abs(arr[i]) < abs(arr[min]))
                min = i;
        }
    }
    cout << "Min. po modulu elem = " << abs(arr[min])<< endl;
    for (int i = 0; i < n; i++)
    {
        i = 0;
        while (abs(arr[i]) && i < n)
        {
            ++i;
        }
        while (i < n)
        {
            sum += abs(arr[i]), i++;
        }
        cout << "Сумма=" <<abs(sum)<<endl;
    }
    cout << "Преобразованный массив" << endl;
    
        j = 0;
        int *even = new int[(n >> 2) + 1];
        int *uneven = new int[(n >> 2) + 1];
        for (int i = 0; i < n - 1; i += 2, ++j)
        {
            even[j] = arr[i];
            uneven[j] = arr[i + 1];
        }
        for (int i = 0; i < j; ++i)     
            arr[i] = even[i];
            k = 0;      
        for (i = j; i < j << 1; ++i, ++k)       
            arr[i] = uneven[k];     
        for (i = 0; i < n; ++i)
            cout << arr[i]<<endl ;
        system("pause");
        delete[] even;
        delete[] uneven;
        delete[] arr;
        return 0;
    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2015, 21:19
Ответы с готовыми решениями:

Как сделать так, чтобы вводимые данные сохранялись?
Задание: Составить текст программы, позволяющей: – вводить с клавиатуры данные о товаре, поступающем в магазин (номер накладной,...

Отредактировать код так чтобы вводимые значения воспринимались в радианах и естественно вычесления были верны
import java.util.Scanner; import static java.lang.System.out; public class Var15_lab2 { public static void main(String...

Файл: как сделать так, чтобы вводимые данные (которые считывались с клавиатуры) сразу записывались в файл?
Подскажите, пожалуйста, как сделать так, чтобы вводимые данные (которые считывались с клавиатуры) сразу записывались в файл, а потом уже...

2
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
30.12.2015, 08:02
Цитата Сообщение от tarantog Посмотреть сообщение
осталось только написать функции
tarantog, попробуйте взять за основу вот этот код.
0
 Аватар для Alexander Bakay
100 / 52 / 39
Регистрация: 15.12.2015
Сообщений: 329
30.12.2015, 15:06
C++
1
2
3
4
5
6
7
8
int Min(double* arr,int n)
{
int min=0;
for (int i = 0; i < n; i++)
            if (abs(arr[i]) < abs(arr[min]))
                min = i;
return abs(arr[min]);
}
Cсерьезно, вообще не понятно, как работает эта ваша часть кода, для нахождения суммы модулей после первого элемента равного нулю, и зачем вообще там тот цикл, но запаковал вам это в функцию как использовано вами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int Sum(double* arr,int n)
{
int sum=0;
for (int i = 0; i < n; i++)
    {
        i = 0;
        while (abs(arr[i]) && i < n)
            ++i;
        while (i < n)
            sum += abs(arr[i]), i++;
        return abs(sum);
}
}
вашу сортировку запихните сами:
C++
1
2
3
void Sort()
{
}
потому что там вообще сложно что то понять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2015, 15:06
Помогаю со студенческими работами здесь

Как сделать так, чтобы в одну GridView передавались результаты двух запросов
Здравствуйте. Как сделать так чтобы в одну ГридВью передавались результаты двух запросов? Спасибо

Переписать блок-схемы так чтобы все было написано словами
мне нужна помощь. В описании блок-схем, необходимо переписать б-с так, чтобы все было написано словами, а не формулами. Вот такое дал...

Шифр Виженера: переписать код так, чтобы программа не только зашифровала, но и расшифровала текст
Текст он зашифрует но не расшифрует. А как сделать чтобы он зашифровал и расшифровал текст??? #include &quot;stdafx.h&quot; ...

Из целочисленного списка переписать все число во второй список так, чтобы сначала
Из целочисленного списка переписать все число во второй список так, чтобы сначала шли четные элементы, затем 0, затем нечетные элементы.

Переписать в текстовый файл все числа так, чтобы порядок отрицательных чисел был сохранён
Исходное условие задачи: В файле записаны вперемешку целые числа, поровну отицательных и положительных. Используя только один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru