В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Lesha152
Lesha152
10.03.2022 01:22 •  Информатика

Найти и вывести на экран сумму элементов массива, расположенных после первого положительного элемента. Полученный массив рассортировать по убыванию и вывести на экран.

Как реализовать это на С

Показать ответ
Ответ:
JoiLok
JoiLok
10.08.2022 08:11
#include <iostream>

using namespace std;

int main()
{
  setlocale(LC_ALL, "RUS"); //Для русского языка в консоли
  int a,b,//a,b - стороны
  q,  //q - площадь
  end, //end - выход из программы
  num; //num - количество подходящих прямоугльников
  cout << "Введите площадь:" << endl;
  cin>>q;
  end=0;
  num=0;
  while (end==0)
  {
    cout <<"Введите стороны a,b прямоугольника. 0, чтобы выйти"<<endl;
    cin>>a>>b;
    if (a<=0 || b<=0)
    {
      end=1;
    }
    else
    {
      if (a*b==q)
      {
        num++;
      }
    }
  }
cout <<"Среди введенных прямоугольников площадь "<<q<<" имели " <<num <<" штук"<<endl;
return 0;
}
0,0(0 оценок)
Ответ:
reginaruzova1
reginaruzova1
23.04.2022 20:20
Python

def summ(m):
s = 0
while m > 0:
s += m % 10
m = m // 10
return s

from random import random

N = 10
a = [0] * N
for i in range(N):
a[i] = int(random() * 40) + 10
print('%4d' % a[i], end='')
print()

for i in range(N - 1): # количество переборов 9
for j in range(N - i - 1): # при первом переборе i=0
if summ(a[j]) > summ(a[j + 1]):
a[j], a[j + 1] = a[j + 1], a[j]

for i in range(N):
print('%4d' % a[i], end='')
print()

for i in range(N):
print('%4d' % summ(a[i]), end='')
print()

pascal

const
    N = 10;
var
    arr: array[1..N] of integer;
    i, j: byte;
    a: integer;
function sum (n: integer): byte;
    begin
        sum := 0;
        while n > 0 do begin
            sum := sum + n mod 10;
            n := n div 10;
        end;
    end;
begin
    randomize;
    for i := 1 to N do begin
        arr[i] := random(20)+10;
        write (arr[i]:3);
    end;
    writeln;
      
    for i := 1 to N-1 do // количество проходов по массиву
        for j := 1 to N-i do // количество сравнений в каждом проходе
            if sum(arr[j]) > sum(arr[j+1]) then begin
                a := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := a;
            end;
 
    for i := 1 to N do
        write(arr[i]:3);
    writeln;
    for i := 1 to N do
        write(sum(arr[i]):3);
    writeln;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота