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

Ввести файл f . каждый элемент в файле больший 7 домножить на результат целочисленного деления этого элемента на 7. файл вывести до и после преобразования. дважды вычислить значение выражения, первый раз используя процедуру, а второй – функцию.

👇
Ответ:
aminamamedova3
aminamamedova3
17.07.2020
//Pascal ABC.NET 3.2 сборка 1318

Var
  f:text;
  n:integer;
  s:string;

   
procedure VoTeRaz(f:text;n:integer;s:string);
  begin
    writeln('Было:');
assign(f,'Input.txt');
reset(f);
while not(Eof(f)) do
  begin
    read(f,n);
    write(n,' ');
    if n>7 then n:=n*(n div 7);
    s:=s+inttostr(n)+' ';
  end;
delete(s,length(s),1);
close(f);
assign(f,'Input.txt');
rewrite(f);
write(f,s);
close(f);
writeln;
writeln('Стало:');
write(s);
writeln;
end;

function VoTeDva(f:text;n:integer;s:string):integer;
  begin
    writeln('Было:');
assign(f,'Input.txt');
reset(f);
while not(Eof(f)) do
  begin
    read(f,n);
    write(n,' ');
    if n>7 then n:=n*(n div 7);
    s:=s+inttostr(n)+' ';
  end;
delete(s,length(s),1);
close(f);
assign(f,'Input.txt');
rewrite(f);
write(f,s);
close(f);
writeln;
writeln('Стало:');
write(s);
writeln;
VoTeDva:=0;
end;
   
begin
VoTeRaz(f,n,s);
VoTeDva(f,n,s);
end.

Начальное содержимое Input.txt:
81 5 6
Пример работы программы:
Было:
81 5 6 
Стало:
891 5 6
Было:
891 5 6 
Стало:
113157 5 6
4,5(22 оценок)
Открыть все ответы
Ответ:
olga810706
olga810706
17.07.2020
Uses GraphABC;
var a,b,c:array[10..99] of integer;
 ast,bst,cst:string;
 i:integer;
begin
ast:='A:';
bst:='Б:';
cst:='В:';
for i:=10 to 99 do
begin
c[i]:=i;
a[i]:=c[i]-i+random(50);
b[i]:=c[i]-a[i];
ast:=ast+' '+inttostr(a[i]);
bst:=bst+' '+inttostr(b[i]);
cst:=cst+' '+inttostr(c[i]);
end;
setpencolor(clRed);
line(0,0,150,0);
line(150,0,75,50);
line(75,50,0,0);
rectangle(0,50,150,300);
DrawTextCentered(0,50,150,300,ast);
setpencolor(clYellow);
line(150,0,300,0);
line(300,0,225,50);
line(225,50,150,0);
rectangle(150,50,300,300);
DrawTextCentered(150,50,300,300,bst);
setpencolor(clGreen);
line(300,0,450,0);
line(450,0,375,50);
line(375,50,300,0);
rectangle(300,50,450,300);
DrawTextCentered(300,50,450,300,cst);
end.
4,6(56 оценок)
Ответ:
LianessaAngel2
LianessaAngel2
17.07.2020
Одно из решений, возможно, не самое эффективное
#include <iostream>
#include <iomanip>
int main()
{
    using namespace std;

    //исходная последовательность
    const int N = 8;
    double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };

    //вывод на экран исходной последовательности
    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;

    //подсчитаем количества отрицательных и неотрицательных элементов
    int kpos = 0;
    int kneg = 0;
    for (int i = 0; i < N; ++i)
        if (Arr[i] < 0)
            ++kneg;
        else
            ++kpos;

    //создадим массивы отрицательных и неотрицательных элементов
    double * ArrNeg = new double[kneg];
    double * ArrPos = new double[kpos];

    int kn = 0, kp = 0;
    for (int i = 0; i < N; i++)
        if (Arr[i] < 0)
            ArrNeg[kn++] = Arr[i];
        else
            ArrPos[kp++] = Arr[i];

    cout << "Enter a, b, c or d: ";
    char ch;
    cin >> ch;

    if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
    {
        switch (ch)
        {
            //пункт а)
            case 'a':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт б)
            case 'b':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[i];
                break;

                //пункт в)
            case 'c':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[i];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;

                //пункт г)
            case 'd':
                for (int i = 0; i < kneg; ++i)
                    Arr[i] = ArrNeg[--kn];
                for (int i = 0; i < kpos; ++i)
                    Arr[i + kneg] = ArrPos[--kp];
                break;
        }
    }
    else
        cout << "You entered wrong symbol\n";

    for (int i = 0; i < N; ++i)
        cout << Arr[i] << "  ";
    cout << endl;
    delete[] ArrNeg;
    delete[] ArrPos;
    return 0;
}
4,8(77 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ