Написать программу на языке С (массивы) В классе 32 ученика, рост которых от 147 до 168 см. Написать программу, которая определила бы номер самого высокого ученика и его рост
Код в комментариях нужен для автоматизации заполнения(чтобы не придумывать 32 числа)
Борисовна_Кашутина
14.01.2020
// 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
14.01.2020
Не очень понятно, что означает "время, занявшее на сортировку каждым из методов" - метод в задании всего 1.
Программе нужно сказать количество элементов в массиве, после этого она выведет необходимую информацию. Если нужен вывод самих массивов, раскомментируйте соответствующие строки.
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 см. Написать программу, которая определила бы номер самого высокого ученика и его рост
//Братишка, я тебе С++ принёс
#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 числа)