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

Решите в паскале 1)дана непустая последовательность целых чисел, оканчивающаяся нулем. найти: а) сумму всех чисел последовательности, больших числа x; б) количество всех четных чисел последовательности. 2)дана последовательность ненулевых целых чисел, оканчивающая нулем. оп- ределить, сколько раз в этой последовательности меняется знак. (например, в последовательности 10, –4, 12, 56, –4 знак меняется 3 раза.)

👇
Ответ:
Ania151
Ania151
26.01.2023
Program n1;
var a,k,sum,x:integer;

begin
write('Введите число X: ');
readln(x);

sum:=0; k:=0;
writeln('Введите непустую последовательность целых чисел, которая оканчивается нулем:');
read(a);
while a <> 0 do 
begin 
 if a>x then sum:=sum+a; 
 if a mod 2 = 0 then k:=k+1; 
 read(a);
end;

writeln('Сумма всех чисел последовательности, больших числа X: ',sum);
writeln('Количество всех четных чисел последовательности: ',k);
end.

program n2;
var a,b,k:integer;

begin
writeln('Введите последовательность ненулевых целых чисел, которая оканчивается нулем:');
read(a);
while a<>0 do
begin 
 read(b); 
 if a*b<0 then k:=k+1; 
 a:=b;
end;

writeln(k,' раз(а) в введенной последовательности меняется знак');
end.
4,4(92 оценок)
Открыть все ответы
Ответ:
marekatyan
marekatyan
26.01.2023

N = int(input('Введите N (строки): '))

M = int(input('Введите M (столбцы): '))

array_1 = []

array_2 = []

array_3 = []

el = 0

for i in range(N):

   a = []

   if M % 2 == 0 and i > 0:

       if el == 0:

           el = 1

       else:

           el = 0

   for _ in range(M):

       a.append(el)

       if el == 0:

           el = 1

       else:

           el = 0

   array_1.append(a)

print('Задание 1.')

for row in array_1:

   for el in row:

       print(el, end = ' ')

   print()

for i in range(N):

   a = []

   for j in range(N):

       if j > i:

           a.append(0)

       else:

           a.append(1)

   array_2.append(a)

print()

print('Задание 2.')

for row in array_2:

   for el in row:

       print(el, end = ' ')

   print()

           

for i in range(N):

   a = []

   for j in range(N):

       if j < N - i - 1:

           a.append(0)

       else:

           a.append(1)

   array_3.append(a)

print()

print('Задание 3.')

for row in array_3:

   for el in row:

       print(el, end = ' ')

   print()

4,4(28 оценок)
Ответ:
LianessaAngel2
LianessaAngel2
26.01.2023
Одно из решений, возможно, не самое эффективное
#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
Открыть лучший ответ