М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Illia1Z
Illia1Z
11.11.2021 08:14 •  Информатика

Посчитать количество положительных элементов массива из 10 чисел

👇
Ответ:
dinaumralieva
dinaumralieva
11.11.2021
Program qq;
uses CRT;
const N=10;
var a:array[1..N] of integer;
i,sum:integer;
begin
for i:=1 to N do
begin
write('a[',i,']=');
read(a[i]);
end;
sum:=0;
for i:=1 to N do
if a[i]>=0 then
sum:=sum+1;
writeln('Количество положительных элементов в массиве равно',sum);
end.
4,4(41 оценок)
Открыть все ответы
Ответ:
CrazyBananaa
CrazyBananaa
11.11.2021

// 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;

 

 

 

  

4,7(73 оценок)
Ответ:
Amina21777
Amina21777
11.11.2021

Короче, я с теорией не работаю, поэтому объясню алгоритм более практичней. Итак, нам нужно проверить каждый элемент массива и выяснить, является ли он трехзначным числом. Какой-то переменной мы присваем значение 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.

 

Ну наверно так...

Удачи!

4,8(56 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ