М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Kirillastrovskiy
Kirillastrovskiy
06.04.2021 04:19 •  Информатика

на с++ сделать надо Дан файл целых чисел, содержащий четное количество элементов. Удалить из данного файла вторую половину элементов.

👇
Ответ:
ElenaFevralV
ElenaFevralV
06.04.2021

#include <iostream>

#include <fstream>

#include <ctime>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");

srand(time(NULL));

char buff[50];

int N;

char buffs[25];

cout << "Сколько будет элементов?(выберите четное число) ";

cin >> N;

ofstream fout("number.txt");

if (fout.is_open()) {

 for (int i = 0; i < N; i++) {

  fout << rand() % 10;

 }

 fout.close();

}

else {

 cout << "Невозможно открыть файл";

}

cout << "Исходный файл: " << endl;

ifstream fin("number.txt");

fin >> buff; //считывание из файла

fin.close();

for (int i = 0; i < N; i++)

 cout << buff[i] << " ";

cout << endl << endl;

cout << "Изменённый файл: " << endl;

ofstream del1("first.txt");

for (int i = 0; i < N / 2; i++) {

 del1 << buff[i];

}

del1.close();

ifstream IL("number.txt");

IL >> buffs;

IL.close();

for (int i = 0; i < N / 2; i++) {

 cout << buffs[i] << ' ';

}

return 0;

}

4,8(65 оценок)
Открыть все ответы
Ответ:
MoonLoveYou
MoonLoveYou
06.04.2021
Чтобы число получилось максимальным, нужно поменять самое большое вычитаемое число и самое маленькое прибавляемое. То есть 2015 и 2.

Сначала легче посчитать исходное значение выражение.

Если разбить выражение на пары (2016-2015) + (2014-2013) ... То можно заметить, что значение каждой скобки равно 1.
Таких пар будет 2016 : 2 = 1008
1008*1 = 1008

В двух парах, а именно (2016-2015) и (2-1) произойдут изменения. Уберём их из общего выражения на время. Без этих 4-х чисел значение выражения равно 1006.

2016−2015+2014−2013+…+2−1 = 1006 + (2016 - 2015) + (2 - 1)
Теперь поменяем местами 2015 и 2, найдём значение выражения:

1006 + (2016 - 2) + (2015 - 1) = 1006 + 2014 + 2014 = 5034
4,4(74 оценок)
Ответ:
jansayabektasova
jansayabektasova
06.04.2021
Задание №1 

var s,v,t,a:real; 
begin 
writeln('Введите скорость, ускорение и время соотвественно'); 
read(v,a,t); 
s:=v*t+(a*sqr(t))/2; 
writeln('Расстояние S = ',s); 
end.

Задание №2

var a,b,c,d,m,n:integer; 
begin 
writeln('Введите ширину и высоту комнаты'); 
read(a,b); 
writeln('Введите размеры окна'); 
read(c,d); 
writeln('Введите размеры двери'); 
read(m,n); 
writeln('Площадь стен для оклеивания обоями = ',a*b-c*d-m*n); 
end.

Задание №3

var a,b:real; 
begin 
writeln('Введите два числа'); 
read(a,b); 
writeln('Среднее арифметическое кубов этих чисел = ',(power(a,3)+power(b,3))/2); 
writeln('Среднее геометрическое модулей этих чисел = ',sqrt(abs(a*b))); 
end.

Задание №4

var x:real; 
begin 
writeln('Введите ребро куба'); 
read(x); 
writeln('Площадь грани = ',sqr(x)); 
writeln('Площадь полной поверхности = ',6*sqr(x)); 
writeln('Объем куба = ',power(x,3)); 
end.

Задание №5

var r1,r2:real; 
begin 
writeln('Введите внешний и внутренний радиус'); 
read(r1,r2); 
if r1<r2 then writeln('Внешний радиус должен быть больше внутреннего') else 
writeln('Площадь кольца = ', Pi*sqr(r1)-Pi*sqr(r2)); 
end.
4,6(99 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ