1. найти минимальный по модулю элемент массива
2. необходимо найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю. Далее преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоящие в четных позициях, а во второй половине - стоящие в нечетных позициях
3. после выполнения, программа должна сама сохраниться в текстовый документ, если такое возможно.
решение первого условия:
include <stdio.h>
int main(void)
{
int min=mas[0];
for(int i=0;i<n;i++)
if(min>mas[i])
min=mas[i];
решение второго условия:
#include <iostream>
using namespace std;
int main()
{
// ввод
size_t i, n; cout << "N = "; cin >> n; if(n==0) return -1;
int *arr = new int[n];
cout << "Array: "; for(i=0; i<n; i++) cin >> arr[i];
// сумма
for(i=0; arr[i] && i<n; i++); // пропускаем элементы до 0
int sum = 0; while( ++i < n ) sum += arr[i]<0 ? -arr[i] : arr[i];
// преобразование
int *tmp = new int[n], *ptr = tmp;
for(i=1; i<n; ++ptr, i+=2) *ptr = arr[i]; // проходим по четным номерам
for(i=0; i<n; ++ptr, i+=2) *ptr = arr[i]; // по нечетным
delete[] arr; arr = tmp;
// вывод
cout << "S = " << sum << endl;
for(i=0; i<n; i++) cout << tmp[i] << " "; cout << endl;
delete[] arr;
return 0;
}
как слепить два условия в одну программу? и с сохранением проблемы...
помогите пожалуйста
Примечание:
да, в третьем необходимо сохранить отсортированный массив.
#include <fstream>
void main()
{
const int N = 10;
int a[N];
ofstream out("file.txt"); // открываем поток
if(out.open()) { //Проверка открылся ли файл
for(int i = 0; i < N;i++) out << a[i]; //запись
out.close();//по завершению закрываем файл
}
можно ли использовать такой способ?
сам крайне плохо разбираюсь в C++
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.