gnsnodir5001
?>

Написать программу на языке С (массивы) В классе 32 ученика, рост которых от 147 до 168 см. Написать программу, которая определила бы номер самого высокого ученика и его рост

Информатика

Ответы

Vadim443

//Братишка, я тебе С++ принёс

#include <iostream>

/*

#include<cstdlib>

#include<ctime>

#include<cmath>*/

using namespace std;

/*

void fill(int arr[32]){

   srand(time(NULL));

   for(int i = 0;i<32;i++){

       arr[i] = rand()%22 + 147;

   }

}*/

int main()

{

   int students[32];

   //fill(students);

   for(int i = 0;i<32;i++){

       cin>>students[i];

   }

   int max_index = students[0];

   for(int i = 0;i<32;i++){

       if(students[i]>max_index){

           max_index=i;

       }

       //Не обязательно

       else{

           continue;

       }

   }

   cout<<"Рост:"<<students[max_index]<<endl;

   cout<<"Номер:"<<max_index+1;

   return 0;

}

Объяснение:

Код в комментариях нужен для автоматизации заполнения(чтобы не придумывать 32 числа)

Борисовна_Кашутина
//
begin
  var L:=new List<fraction>; // вынужденное: метод иногда дает дубликаты
  (var a0, var an):=(abs(Self.First),abs(Self.Last));
  for var p:=1 to a0 do begin
    if a0 mod p<>0 then continue;
    for var q:=1 to an do begin
      if an mod q<>0 then continue;
      var g:=Self.First; (var f, var t):=(g,p);
      foreach var k in Self.Skip(1) do begin
        var r:=k*t; (f,g,t):=(f*q+r,-g*q+r,t*p);
        end;
      if f=0 then L.Add((p,q));
      if g=0 then L.Add((-p,q))
      end
    end;
    Result:=L
end;

function RedFrac(Self:fraction):fraction; extensionmethod;
begin
  (var p,var q):=Self;
  var s:=sign(p*q);
  (p,q):=(abs(p),abs(q));
  (var a,var b):=(p,q);
  while b<>0 do begin a:=a mod b; Swap(a,b) end;
  Result:=(s*p div a,q div a)
end;

function Beautify(Self:sequence of fraction):sequence of string;
    extensionmethod;
begin
  Result:=Self.Select(e->e.RedFrac).Distinct.OrderBy(x->x[0]/x[1]).
    Select(e->e[0]+(e[1]<>1?'/'+e[1]:''))
end;

begin
  ReadArrInteger(4).RatFact.Beautify.Println
end.

Примеры
1) -36x³+3x²+14x+3 = 0
 
3 14 3 -36
-1/3 3/4

2) (x-1)(x+2)(x+3/5) = 0;  5x³+8x²-7x-6 = 0

-6 -7 8 5
-2 -3/5 1
stsnab
Не очень понятно, что означает "время, занявшее на сортировку каждым из методов" - метод в задании всего 1.

Программе нужно сказать количество элементов в массиве, после этого она выведет необходимую информацию. Если нужен вывод самих массивов, раскомментируйте соответствующие строки.

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <locale.h>
 
void selection_sort(int *arr, int n, std::string name)
{
    /*std::cout << "Неотсортированный массив " << name << std::endl;
    for (int i = 0; i < n; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;*/
    std::clock_t c_start = std::clock();
    for (int i = 0; i < n - 1; i++)
    {
        int ind_min = i;
        for (int j = i + 1; j < n; j++)
            if (arr[j] < arr[ind_min]) ind_min = j;
        if (ind_min != i) {
            int t = arr[ind_min];
            arr[ind_min] = arr[i];
            arr[i] = t;
        }
    }
    std::clock_t c_end = std::clock();
    std::cout << "Отсортированный массив " << name << " (сортировка выбором)"<< std::endl;
    /*for (int i = 0; i < n; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;*/
    float time = 1000.0 * (c_end-c_start) / CLOCKS_PER_SEC;
    std::cout << "Времени затрачено: " << time << " мс" << std::endl;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    int n;
    std::cout << "Число элементов массива: ";
    std::cin >> n;
    int *arr = new int[n];
    arr[0] = 0;
    for (int i = 1; i < n; i++)
        arr[i] = arr[i-1] + rand() % 3;
    selection_sort(arr, n, "[Отсортирован по возрастанию]");
    arr[0] = 10000;
    for (int i = 1; i < n; i++)
        arr[i] = arr[i-1] - rand() % 3;
    selection_sort(arr, n, "[Отсортирован по убыванию]");
    for (int i = 0; i < n; i++)
        arr[i] = rand() % 10000;
    selection_sort(arr, n, "[Случайный массив]");
    return 0;
}
Пример работы:
Число элементов массива: 30000
Отсортированный массив [Отсортирован по возрастанию] (сортировка выбором)
Времени затрачено: 1760 мс
Отсортированный массив [Отсортирован по убыванию] (сортировка выбором)
Времени затрачено: 2838 мс
Отсортированный массив [Случайный массив] (сортировка выбором)
Времени затрачено: 1789 мс

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

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

Написать программу на языке С (массивы) В классе 32 ученика, рост которых от 147 до 168 см. Написать программу, которая определила бы номер самого высокого ученика и его рост
Ваше имя (никнейм)*
Email*
Комментарий*

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

picassovrn
triumfmodern
Александра-Андрей909
Vs1377
KononovaMaiorov453
vera-classic75
tnkul
tatry2005
fudan
rn3ay8
tanya14757702
Павел
oknacrow
mmoskow3
Платон Демцун
Сөйлемді Толықтырып жазыңдар