РоманРазумный
31.10.2021 03:27

Друкуются квадрати чисел від 10 до 1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
mstella2003
17.09.2020 10:57
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void main()
{
 srand(time(NULL));
 setlocale(0, "");
 int arr[17];
 int a, b, chet=0, nechet = 0;
cout << "Введите диапазон ." << endl << "Нижняя граница диапазона: "; cin >> a; cout << "Верхняя граница диапазона: "; cin >> b; cout << endl;
for (int i = 0; i < 17; ++i)
{
  arr[i] = a + rand() % (b-a+1);
  cout <<" "<<arr[i];
}
for (int i = 0; i < 17; ++i)
{
  if (arr[i] % 2 == 0) chet++;
 else nechet++;
} if (chet > nechet)
 cout << " \n Четных больше";
else if (nechet>chet)
 cout << "\n Нечетных больше";
else cout << "\n Одинаковое количество четных и нечетных";
 _getch();
}
0,0(0 оценок)
Ответ:
hlebushek225
11.10.2022 10:03
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2).
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
   then write(fr2,Marshrut)
   else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
  begin
  read(fr, Marshrut);
  write(fr2,Marshrut);
  end;
if (kol=1) then  write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).

Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
 begin
 read(fr, Marshrut);
 seek (fr, k1);
 write(fr, Marshrut);
 seek (fr, k2);
 write (fr, y);
 end;

end;
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота