Главная страница
Случайная страница
Разделы сайта
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов.
За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее.
✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать».
Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами!
Примеры программ обработки одномерных массивов
Пример 1. Дан одномерный массив. Найти минимальный и максимальный элементы массива, их порядковые номера и вывести их на печать.
Ход выполнения работы
1. Для нахождения минимального элемента применим стандартный ход. На первом шаге примем за минимальный нулевой элемент массива и номер этого элемента равен нулю. Затем, меняя индексы элементов массива, будем сравнивать найденное минимальное значение с текущим элементом. Если окажется, что текущий элемент меньше минимального значения, найденного на предыдущих шагах, то он становится минимальным и т.д. Для нахождения максимального элемента используют аналогичную схему. Следовательно, для того чтобы проверить каждый элемент массива, нужно использовать цикл с параметром. В алгоритме и программе переменные min и imin обозначают соответственно минимальное значение и его номер, а переменные max и imax – максимальное значение и его номер.
2. Написать программу, соответствующую алгоритму:
Алгоритм
| Программа
| объявление вещ: а[10], min, max; цел: i, imin, imax
для i=0 до 10-1 шаг 1
ввод а[i]
все для i
//задаются начальные максимальное и //минимальное значения элементов
//массива и их номера
min=a[0], imin =0
max=a[0], imax=0
для i=1 до 10-1 шаг 1
// в цикле изменяется номер i
// элемента массива
//поэтому переменные min и max
//сравниваются с
// каждым элементом отдельно
если min> а[i]
min=a[i]
imin=i
все_ если
если max< а[i]
max=a[i]
imax=i
все_ если
все_для i
печать imin, min
печать imax, max
для i=0 до 10-1 шаг 1
вывод a[i]
все_для i
| #include " stdio.h"
#define N 10
int main ()
{
float а[N], min, max;
int i, imin, imax;
// ввод массива с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" a[%i]= ", i);
scanf (" %f", & а[i]);
}
//находим максимальное и минимальное
//значение в массиве
min=a[0], imin =0;
max=a[0], imax=0;
for (i=1; i< =N-1; i++)
{
if(min> а[i])
{
min=a[i];
imin=i;
}
if(max< а[i])
{
max=a[i];
imax=i;
}
}
//вывод номеров минимального и
//максимального элементов массива и их
//значений на экран
printf(" №min=%i, min=%f\n", imin, min);
printf(" №max=%i, max=%f\n", imax, max);
// вывод массива на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", а[i]);
printf(" \n");
return 1;
}
| 3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Пример 2. Сформировать массив по закону . При заданном k подсчитать среднее арифметическое элементов массива, больших k.
Ход выполнения работы
1. Средним арифметическим называется отношение суммы чисел к их количеству. Таким образом, для решения задачи нужно найти сумму и количество элементов, удовлетворяющих условию задачи. Так как нужно проверить каждый элемент массива, то необходимо использовать цикл с параметром, где параметр будет обозначать индекс элемента массива. В алгоритме и программе переменные sum и count будут обозначать сумму и количество определенных элементов соответственно.
2. Написать программу, соответствующую алгоритму:
Алгоритм
| Программа
| объявление вещ: а[15], sum, k; цел: i, count
ввод k
// формирование элементов массива
для i=0 до 15-1 шаг 1
все для i
//сначала сумма элементов и их
// количество равны нулю
sum=0, count=0
для i=0 до 15-1 шаг 1
// в цикле изменяется номер i элемента
// массива
// каждый элемент сравнивается со
//значением k
// нужный элемент добавляется к сумме
если а[i]> k
sum=sum+a[i]
count++
все_ если
все_для i
// находим среднее арифметическое
sum=sum/count
// печатаем полученное значение
печать sum
// вывод массива на экран
для i=0 до 15-1 шаг 1
вывод a[i]
все_для i
| #include " stdio.h"
#include " math.h"
#define N 15
int main ()
{
float а[N], sum, k;
int i, count;
// ввод k
printf (" k=");
scanf (" %f", & k);
// ввод массива с клавиатуры
for (i=0; i< =N-1; i++)
{
a[i]=sqrt(i)+sin(i);
}
//сначала сумма элементов и их //количество равны нулю
sum=0, count=0;
//вычисление суммы и количества
//элементов
for (i=0; i< =N-1; i++)
{
if(а[i]> k)
{
sum=sum+a[i];
count++;
}
}
// находим среднее арифметическое
sum=sum/count;
// печатаем полученное значение
printf(" sred_arif=%f\n", sum);
// вывод массива на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", а[i]);
printf(" \n");
return 1;
}
| 3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Пример 3. Дан одномерный массив. Вычислить произведение нечетных элементов массива, расположенных на четных позициях.
Ход выполнения работы
1. Первоначально значение произведения равно 1 (при умножении на 1 значение произведения не меняется). Затем организуется цикл для проверки каждого элемента на соответствие указанному в задаче условию. Если текущий элемент удовлетворяет условию, то с его помощью изменяется искомое произведение.
2. Написать программу, соответствующую алгоритму:
Алгоритм
| Программа
| объявление цел: а[14], цел: i, p
// ввод массива a с клавиатуры
для i=0 до 14-1 шаг 1
ввод а[i]
все_для i
// вычисление произведения
p=1
для i=0 до 14-1 шаг 1
если a[i]%2=1 и i%2=0
p=p*a[i]
все_если
все_для i
// печатаем полученное значение
печать p
// вывод массива a на экран
для i=0 до 4-1 шаг 1
вывод a[i]
все_для i
| #include " stdio.h"
#define N 14
int main ()
{
int а[N]; int i, p=1;
// ввод массива a с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" a[%i]= ", i);
scanf (" %i", & а[i]);
}
// вычисление произведения
for (i=0; i< =N-1; i++)
{
if(а[i]%2==1 & & i%2==0)
{
p=p*a[i];
}
}
// печатаем полученное значение
printf(" p=%i\n", p);
// вывод массива a на экран
for (i=0; i< =N-1; i++)
printf (" %i ", а[i]);
printf(" \n");
return 1; }
| 3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Пример 4. Даны одномерные массивы x[5] и y[5]. Сформировать новый массив z[5] по правилу .
Ход выполнения работы
1. Организуется цикл для проверки индекса каждого элемента на соответствие указанному в задаче условию. Если индекс – четное число, то выполняется одно действие, иначе элементом массива z становится наименьший из текущих элементов массивов x и y.
2. Написать программу, соответствующую алгоритму.
Алгоритм
| Программа
| объявление вещ: x[5], y[5], z[5], цел: i
// ввод массива x с клавиатуры
для i=0 до 5-1 шаг 1
ввод x[i]
все_для i
// ввод массива y с клавиатуры
для i=0 до 5-1 шаг 1
ввод y[i]
все_для i
// формирование массива z
для i=0 до 5-1 шаг 1
если i%2= =1 // i – нечетное
z[i]=sin(x[i])
иначе // т.е. i – четное
если x[i]< y[i] // находится
// минимальное из
// xi и yi
z[i]=x[i]
иначе
z[i]=y[i]
все_если
все_если
все_для i
// вывод массива x на экран
для i=0 до 5-1 шаг 1
вывод x[i]
все_для i
// вывод массива y на экран
для i=0 до 5-1 шаг 1
вывод y[i]
все_для i
// вывод массива z на экран
для i=0 до 5-1 шаг 1
вывод z[i]
все_для i
| #include " stdio.h"
#include " math.h"
#define N 5
int main ()
{
float x[N], y[N], z[N];
int i;
// ввод массива x с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" x[%i]= ", i);
scanf (" %f", & x[i]);
}
// ввод массива y с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" y[%i]= ", i);
scanf (" %f", & y[i]);
}
// формирование массива z
for (i=0; i< =N-1; i++)
{
if(i%2= =1)
z[i]=sin(x[i]);
else
if(x[i]< y[i])
z[i]=x[i];
else
z[i]=y[i];
}
// вывод массива x на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", x[i]);
printf(" \n");
// вывод массива y на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", y[i]);
printf(" \n");
// вывод массива z на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", z[i]);
printf(" \n");
return 1;
}
| 3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Пример 5. Дан одномерный массив a [15]. Сформировать новый массив b из элементов массива а, меньших заданного k.
Ход выполнения работы
1. При решении данной задачи нужно знать, сколько элементов должен содержать массив b. Так как массив а вводится с клавиатуры, то значения его элементов заранее неизвестно. В общем случае все элементы массива могут быть меньше заданного k. Предполагаем, что массив b будет содержать столько же элементов, что и массив а. Однако при формировании нового массива не все элемента старого могут удовлетворять условию задачи. По этой причине индексация элементов этих массивов может различаться и, следовательно, для этой цели объявляют разные переменные.
2. Написать программу, соответствующую алгоритму:
Алгоритм
| Программа
| объявление вещ: a[15], b[15], k, цел: i, j
ввод k
для i=0 до 15-1 шаг 1
ввод a[i]
все_для i
j=0
для i=0 до 15-1 шаг 1
если a[i]< k
b[j]=a[i]
j++
все_если
все_для i
для i=0 до 15-1 шаг 1
вывод a[i]
все_для i
для i=0 до j-1 шаг 1
вывод b[i]
все_для i
| #include " stdio.h"
#include " math.h"
#define N 15
int main ()
{
float a[N], b[N], k;
int i, j;
printf (" k=");
scanf (" %f", & k);
// ввод массива a с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" a[%i]= ", i);
scanf (" %f", & a[i]);
}
j=0;
// формирование массива b
//переменная j после завершения
//формирования нового массива будет
//определять количество элементов этого
//массива
for (i=0; i< =N-1; i++)
{
if(a[i]< k)
{
b[j]=a[i];
j++;
}
}
// вывод массива a на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", a[i]);
printf(" \n");
// вывод массива b на экран
for (i=0; i< =j-1; i++)
printf (" %.3f ", b[i]);
printf(" \n");
return 1;
}
| 3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Пример 6. Дан одномерный массив t [7]. Осуществить циклический сдвиг массива на k элементов влево.
Ход выполнения работы
1. Под циклическим сдвигом на k элементов понимается перемещение элементов вправо или влево. Высвободившиеся элементы помещаются в конец массива (в данном случае) в порядке их следования. Начальное состояние массива:
Если будет произведен циклический сдвиг на 3 элемента влево, то массив будет изменен следующим образом:
2. Написать программу, соответствующую алгоритму:
Алгоритм
| Программа
| объявление вещ: t[7], x, цел: i, j, k, p
ввод k
для i=0 до 7-1 шаг 1
ввод t[i]
все_для i
//цикл по j показывает сколько раз должен
// произойти циклический сдвиг на один
//элемент
для j=1 до k шаг 1
// запоминаем первый элемент массива
p=t[0]
//сдвигаем элементы массива на одну
// позицию
для i=0 до N-2 шаг 1
x=t[i]
t[i]=t[i+1]
t[i+1]=x
все_для i
//на место последнего элемента
// записываем первый
t[N-1]=p
все_для j
для i=0 до 7-1 шаг 1
вывод t[i]
все_для i
| #include " stdio.h"
#include " math.h"
#define N 7
int main ()
{
float t[N], x;
int i, j, k, p;
printf (" k=");
scanf (" %i", & k);
// ввод массива t с клавиатуры
for (i=0; i< =N-1; i++)
{
printf (" t[%i]= ", i);
scanf (" %f", & t[i]);
}
for (j=1; j< =k; j++)
{
//запоминаем первый элемент массива
p=t[0];
//сдвигаем элементы массива на одну
//позицию
for (i=0; i< =N-2; i++)
{
x=t[i];
t[i]=t[i+1];
t[i+1]=x;
}
//на место последнего элемента
//записываем первый
t[N-1]=p;
}
// вывод массива t на экран
for (i=0; i< =N-1; i++)
printf (" %.3f ", t[i]);
printf (" \n");
return 1;
}
| Примечание. В алгоритме два соседних элемента массива меняются местами при помощи операторов:
x=t[i-1]
t[i-1]=t[i]
t[i]=x
3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
|