Борисов
?>

Составьте программу, которая заполняет массив а 1..0 случайными целыми числами в диапазоне от 1 до 10 и вычесляет сумму элементов массива с четными значениями

Информатика

Ответы

Rinatum1978
Program ex;

const
g = 100;

var
a, i, sum: integer;
b: array[1..g] of integer; // Не совсем понятен был размер массива. Мною было принято решение задать значение 100. Вы можете изменить его в любое время.
// Поменяв значение в константе g.
begin
sum := 0;
for i := 1 to g do 
begin
a := random(1, 10);
b[i] := a;
if b[i] mod 2 = 0 then
sum := b[i] + sum;
end;
write('Сумма массивов с четными значениями: ', sum)
end.
sergeev-alp5

Объяснение:

#include "stdafx.h"

#include <conio.h>

#include <iostream>

#include <cstdlib>

#include <stdio.h>

#include <math.h>

using namespace std;

 

struct Train {  // указатель на узел, динамическую структуру Train

   int number; //ввод поля номер для поезда

   char path[10];// ввод поля пункт назначения поезда

   int hour;// ввод поля время отправления поезда (часы)

   int min; //ввод поля время отправления поезда (минуты стандартных имён

int main() {

   const int N = 5;

   setlocale(LC_ALL, "Russian");// подключение русского  языка  

   Train trains[5];// указание количества поездов в структуре

   for (int i = 0; i < N; i++) { // начало цикла для введения данных о 5 поездах

       cout << "Введите пункт назначения поезда " << i + 1 << endl; // Вывод на экран сообщения о необходимости ввести имя

       cin >> trains[ i ].path ; //ввод имени пользователем

       cout << "Введите номер для поезда " << i + 1 << endl;

       cin >> trains[ i ].number;

   cout << "Введите время отправления для поезда (часы) " << i + 1 << endl;

   cin >> trains[ i ].hour ;

   cout << "Введите время отправления для поезда (минуты) " << i + 1 << endl;

   cin >> trains[ i ].min ;

   }

for(int i = 0; i < N; i++)  

{

    for(int j = i + 1; j < N; j++)  

    {

         if(strcmp(trains[i].path, trains[j].path)>0)

          {

       Train tmp = trains[i];

       trains[i] = trains[j];

       trains[j] = tmp;

          }

    }

}

for (int i = 0; i < N; ++i)  

{

    cout << " Пункт назначения: " << trains[ i ].path << "   номер: " << trains[ i ].number << "   Время отправления: " << trains[ i ].hour << ":" << trains[ i ].min  << endl << endl;

}

int time_h;

int time_min;

int k = 0;

cout << "Введите ваше время (часы затем минуты)" << endl;

cin >> time_h >> time_min;

cout << " Ваше время:" << time_h <<":" << time_min << endl << endl;

for(int i = 0; i < N; i++)

{

    if((time_h < trains[i].hour) || (time_h == trains[i].hour && time_min < trains[i].min))

   {

        cout << " следующие поезда отправятся после вашего времени: " << trains[i].number  <<" с временем "<< trains[i].hour << ":"<< trains[i].min << endl;

        k++;

       }

}

    if(k == 0)

   cout << " Нет подходящих поездов" << endl;

   

_getch();

return 0;

}

ngz55

Исходник прикреплю в закреп, в двух форматах на всякий!!

Объяснение:

#include <iostream>

#include <string>

#include <ctime>

using namespace std;

class Time {

public:

Time()

 : m_hours(0), m_minutes(0) {

 //TODO

}

Time(short hours, short minutes)

 : m_hours(hours), m_minutes(minutes) {

 //TODO

}

Time operator-(const Time& time) {

 Time tempTime;

 tempTime.m_minutes = this->m_minutes - time.m_minutes;

 if (tempTime.m_minutes < 0) {

  tempTime.m_minutes += 60;

 }

 tempTime.m_hours = this->m_hours - time.m_hours;

 if (tempTime.m_hours < 0) {

  tempTime.m_hours += 23;

 }

 return tempTime;

}

friend std::ostream& operator<<(std::ostream& os, const Time& time);

friend std::istream& operator>>(std::istream& is, Time& time);

short m_hours;

short m_minutes;

};

std::ostream& operator<<(std::ostream& os, const Time& time) {

if (time.m_hours < 10) {

 os<< "0";

}

os<< time.m_hours << ":";

if (time.m_minutes < 10) {

 os<< "0";

}

os << time.m_minutes;

return os;

}

std::istream& operator>>(std::istream& is, Time& time) {

char delim{ ':' };

is >> time.m_hours >> delim >> time.m_minutes;

if (time.m_hours > 23) {

 time.m_hours %= 24;

}

if (time.m_minutes > 59) {

 time.m_minutes %= 60;

}

return is;

}

class train

{

public:

string punkt;

int trainNumber;

Time startTime;

train(string punkt1, int trainNumber1, Time startTime1)

{

 punkt = punkt1;

 trainNumber = trainNumber1;

 startTime = startTime1;

}

};

int main()

{

train* arrayOfTrain[5];

for (int i = 0; i < 5; i++)

{

 string punkt;

 int trainNumber;

 Time startTime;

 cin >> punkt;

 cin >> trainNumber;

 cin >> startTime;

 arrayOfTrain[i] = new train(punkt, trainNumber, startTime);

}

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

for (int i = 0; i < 5 - 1; i++)

 for (int j = i + 1; j < 5; j++) {

  if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) > 0)

  {

   swap(arrayOfTrain[i], arrayOfTrain[j]);

  }

 }

for (int i = 0; i < 5 - 1; i++)

 for (int j = i + 1; j < 5; j++) {

  if (strcmp(arrayOfTrain[i]->punkt.c_str(), arrayOfTrain[j]->punkt.c_str()) == 0)

  {

   if (arrayOfTrain[i]->startTime.m_hours > arrayOfTrain[j] -> startTime.m_hours)

    swap(arrayOfTrain[i], arrayOfTrain[j]);

   if (arrayOfTrain[i]->startTime.m_hours == arrayOfTrain[j] -> startTime.m_hours)

    if (arrayOfTrain[i] -> startTime.m_minutes > arrayOfTrain[j] -> startTime.m_minutes)

     swap(arrayOfTrain[i], arrayOfTrain[j]);

  }

 }

for (int i = 0; i < 5; i++)

{

 cout << arrayOfTrain[i]->punkt << " " << arrayOfTrain[i]->trainNumber << " " << arrayOfTrain[i]->startTime << endl;

}

system("pause");

return 0;

}

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

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

Составьте программу, которая заполняет массив а 1..0 случайными целыми числами в диапазоне от 1 до 10 и вычесляет сумму элементов массива с четными значениями
Ваше имя (никнейм)*
Email*
Комментарий*

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

gordeevadesign2986
Anatolevich667
martinson1136
Pervosha
aamer9992680
Sokolova-Shcherbakov
Pilotmi247074
АЛЕКСЕЙ
arturo95
aninepp
kotocafe45
mirsanm26249
mayskiyandrey90
Alsergus7811
Pavlushina-Novikova