«Спирт»
Каждому школьнику из курса органической химии известна
формула молекулы этилового спирта – C2H5(OH). Откуда
видно, что молекула спирта состоит из двух атомов углерода
(C), шести атомов водорода (H) и одного атома кислорода (O).
По заданному количеству атомов каждого из описанных выше
элементов требуется определить максимально возможное
количество молекул спирта, которые могут образоваться в
процессе их соединения. Составьте блок-схему, желательно в pdf.
Так как изначально в задании указано : "на любом известном вам языке программирования" - вот, держи на С.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define N 100
int main()
{
setlocale(LC_ALL, "Rus");
int i, M;
float B[N], MIN;
printf(" Введите количество элементов массива (не больше 100) => ");
scanf("%d", &M);
if (M < 100)
{
for (i = 0; i < M; i++)
{
printf("Введите [%d] элемент массива =>", i);
scanf("%f", &B[i]);
}
for (i = 0; i < M; i++)
printf("%1.0f ", B[i]);
MIN=B[0];
for (int i=1; i<M; i++)
{
if (B[i]<MIN)
MIN=B[i];
}
printf ("\n\tМинимальное значение в массиве => %7.2f", MIN);
}
else
printf("Ошибка. Заданное число элементов массива слишком большое.");
return 0;
}
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "Rus");
srand(time(0));
int n,min=RAND_MAX,nl=0, j = 0;
cout << "Размер массива: "; cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = rand() % 10;
cout << a[i] << ' ';
if ((a[i] < min)&&((i+1)%2!=0)) min = a[i];
}
for (int i = 0; i < n; i++) if (a[i] == min) nl++;
cout << endl;
while (j < n-nl)
if (a[j] == min)
for (int i = j; i < n - 1; i++) swap(a[i], a[i + 1]);
else j++;
for (int i = 0; i < n - nl; i++) cout << a[i] << ' ';
cout << endl;
system("pause");
return 0;
}