adel25159
?>

Запишите программу, которая рассчитывает перевод из одного размера в другой. 1 миль-10668, 8 м 1 аршин-16 миль 1 дюйм- 0, 3048 см.

Информатика

Ответы

kireevatatiana

// operations_array.cpp: определяет точку входа для консольного приложения.#include "stdafx.h"#include < iostream> #include < ctime> using namespace std; int main(int argc, char* argv[]){ srand(time(null)); setlocale(lc_all, "rus"); int length_array; cout < < "укажите количество элементов массива: "; cin > > length_array; float *arrayptr = new float [length_array]; // одномерный динамический массив // заполняем одномерный массив случайными числами for (int counter = 0; counter < length_array; counter++) { arrayptr[counter] = - 5.00 + ((rand() % 101) / 10.0); // генерируем случайные числа [-5, 5] cout < < arrayptr[counter] < < " "; // вывод сгенерированного числа } cout < < endl; float min = arrayptr[0]; // инициализируем первым элементом массива int number_min = 0; // номер минимального элемента for (int counter = 0; counter < length_array; counter++) { if (min > arrayptr[counter]) { min = arrayptr[counter]; // минимальный элемент number_min = counter; // номер минимального элемента } } cout < < "номер минимального элемента = " < < (number_min + 1) < < endl; // номер минимального элемента double product = 1; for (int counter = 0; counter < length_array; counter++) { if (arrayptr[counter] < 0) // находим первое отрицательное число { counter++; // переключаемся на следующий элемент while (arrayptr[counter] > 0) // пока не нашли второе отрицательное число { product *= arrayptr[counter]; // накапливаем произведение элементов counter++; } break; // выход из цикла for } } cout < < "произведение = " < < product < < endl; float *relocation_arrayptr = new float [length_array]; // одномерный динамический массив для перестановок int index = 0; // индекс массива перестановок // заполняем массив элементами, модуль которых не превышает 1 for (int counter = 0; counter < length_array; counter++) { if (abs(arrayptr[counter]) < = 1) { relocation_arrayptr[index] = arrayptr[counter]; index++; } } // заполняем массив элементами, модуль которых больше 1 for (int counter = 0; counter < length_array; counter++) { if (abs(arrayptr[counter]) > 1) { relocation_arrayptr[index] = arrayptr[counter]; index++; } } // напечатать преобразованный массив cout < < "\nпреобразованный массив: \n"; for (int counter = 0; counter < length_array; counter++) { cout < < relocation_arrayptr[counter] < < " "; } cout < < endl; // высвобождение памяти отводимой под одномерный динамический массив: delete [] arrayptr; delete [] relocation_arrayptr; system("pause"); return 0;

 

 

 

   

fedotochkin8

короче, я с теорией не работаю, поэтому объясню алгоритм более практичней. итак, нам нужно проверить каждый элемент массива и выяснить, является ли он трехзначным числом. какой-то переменной мы присваем значение 1000. и как только мы находим трехзначное число, мы проверяем ниже ли это число той переменной(в первый раз, соответственно да). если ответ положительный, то присваем переменной значение числа, сс которым мы работали и которое, естественно меньше. теперь проверяем дальше трехзначные числа. если они ниже переменной, то присваевам их к этой же переменной. в конце цикла, переменная будет иметь значение минимального 3х знач элемента. если переменная по прежнему равна 1000. значит 3х знач числа не нашлось и мы выводим надпись "таких чисел нет".

 

если я объяснил не слишком понятно, то покажу на примере:

 

var a: array [1..30] of real; i,min: real;

begin

 

{здесь ты сама как-нибудь вводишь элементы цикла. или с файла, либо с вводом}

 

min: =1000;

for i: =1 to 30 do begin

                              if (a[i] div 100> 0) and  (a[i] div 100< 10) then

                              if a[i]< min then min: =a[i];

                          end;

if min< > 1000 then writeln(min) else writeln('таких чисел нет! ')

end.

 

ну наверно

удачи!

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

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

Запишите программу, которая рассчитывает перевод из одного размера в другой. 1 миль-10668, 8 м 1 аршин-16 миль 1 дюйм- 0, 3048 см.
Ваше имя (никнейм)*
Email*
Комментарий*

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

boykoz9
manu95957
optikaleks7
kulinarprotv
admiralbany
Аврамец1911
Simbireva
maroseyka
zakaz
adminaa
Natalimis416024
Александрович
АнжелаВасильевич
lenapopovich556510
Mikhailovna_Litvinova276