myhauz
?>

по каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. каждое число передается отдельно. признаком конца передаваемой последовательности является число 0. после числа 0 передается контрольное значение – наибольшее число x, которое: делится на 10; может быть получено умножением двух различных чисел, входящих в полученную последовательность.напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. программа должна напечатать отчет следующего вида: получено .. чиселполученное контрольное значение: ….вычисленное контрольное значение: …контроль пройден (или – контроль не пройден)​

Информатика

Ответы

Маринина_Елена
//PascalABC.NET 3.1 сборка 1239
const
    n = 10;
    m = 10;

var
    i, j: integer;
    a, b: array[1..n, 1..m] of integer;
    f: boolean;

begin
    for i := 1 to n do
    begin
        for j := 1 to m do
        begin
            a[i, j] := random(50);
            write(a[i, j]:3, ' ');
        end;
        writeln;
    end;
    writeln;
    
    for i := 1 to n do
    begin
        f := false;
        for j := 1 to m do
        begin
            if not f and (a[i, j] mod 2 = 1) then begin
                a[i, j] := 2 * a[i, j];
                f := true;
            end;
            write(a[i, j]:3, ' ');
        end;
        writeln;
    end;
end.
aromastil88

#include <iostream>

#include <vector>

using namespace std;

// глобальные переменные

const int arraySize = 10;

vector <int> numbers;

// сам алгоритм.

void result(){

   

 // совет - обьявляй все переменные в начале функции  

 int leader = 0;

 

 int maxCount = 0;

 int count = 0;

 

 

 // поиск самого частого числа

 for (int c = 0; c < 9;c++){

     // обнуляем счетчик

     count = 0;

     

     for (int c1 = 0;c1 < arraySize;c1++){

         if (numbers[c1] == c) count++;

     }

     

     // проверка на лидера

     if (maxCount < count){

         leader = c;

         maxCount = count;

     }

 }

 

 

 // ну..с посмотрим:

 cout << "Leader: " << leader << " (" << maxCount << ") " << std::endl;

}

int main()

{

   // подготовка масива

   srand(time(NULL)); // обнулем внутрений таймер для полного рандома

   for (int c = 0; c < arraySize;c++) {

       numbers.push_back(rand() % 9); // заполняем масив числами

   }

   // посмотрим на оригинальный масив

   cout << "Original array: ";

   for (int c = 0;c < arraySize;c++) cout << numbers[c] << " ";

   cout << std::endl;

   // сортировка

   result();

   return 0;

}

Объяснение:

Хорошая книга по с++: Герберт Шилд - с++ базовый курс.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

по каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. каждое число передается отдельно. признаком конца передаваемой последовательности является число 0. после числа 0 передается контрольное значение – наибольшее число x, которое: делится на 10; может быть получено умножением двух различных чисел, входящих в полученную последовательность.напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. программа должна напечатать отчет следующего вида: получено .. чиселполученное контрольное значение: ….вычисленное контрольное значение: …контроль пройден (или – контроль не пройден)​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

tatyanaryzhkova
echervyakov
tarkhanovilya
Mikuspavel2
dionissia2
Struev730
okabankova7
oniks-plus
qwert28027170
СмыковаДарья1969
borisowaew
thedoomsdatdcs36
Tyukalova
nata27-73589
nkaminskaja