«поиск исортировка данных. Исследование статических структур данных»


Download 43.56 Kb.
bet1/2
Sana12.01.2023
Hajmi43.56 Kb.
#1089684
TuriЛабораторная работа
  1   2
Bog'liq
ПРАКТИЧЕСКАЯ 1dasturlash


ЛАБОРАТОРНАЯ РАБОТА №1.
ТЕМА: «ПОИСК ИСОРТИРОВКА ДАННЫХ.
ИССЛЕДОВАНИЕ СТАТИЧЕСКИХ СТРУКТУР ДАННЫХ»
ЗАДАНИЕ 1. Написать программу обработки массивов данных используя
пользовательскую функцию или структуру.

Дан массив размера N. Описать функцию нахождения суммы всех степенных элементов
массива, то есть элементов, которые можно разложить на число формата х = ав, где, а и в
целые числа.
Дан числовой массив X[12].

Определить:



Описать в виде отдельной функции определение суммы элементов заданной части массива.

Теоретическое решение:

Уменьшаемое - это сумма первых 7 чисел массива:

Вычитаемое - следующие 5 чисел:
По условию задачи у меня только один массив! Что делать?

1) Прошу ввести 12 любых чисел -> пишу в массив X[12]
2) Беру из массива X[12] первые 7 - суммирую -> пишу в переменную 1;
3) Беру из массива X[12] след 5 - суммирую -> пишу в переменную 2;
4) Вычисляю разность уменьшаемого 1 и вычитаемого 2 -> вывожу.

То есть мне для шагов 2 и 3 (в отдельной функции по условию задачи) писать разные циклы for ?

2
3
4


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25



#include
#include
#define value 12
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int ar[value],summa7,summa12,anweser;
for (int i = 0;i < value;i++)
{
ar[i] = rand() % 12;
cout << ar[i] << " ";
if (i < 7)
summa7 =+ ar[i];
else
summa12 =+ ar[i];
}
anweser = summa7 - summa12;
cout << endl << "Разница = " << anweser << endl;
return 0;
}



Я вынесла в отдельную функцию распределение из массива с подсчетом сумм, но не получается отладить

2
3
4


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38



#include
#define Value 12 /*размер массива*/
void SumElem (float a[], int j, int *s0ch6, int *s7ch11)
{
int i;
for (i=0; i{
if (a[i] < 7)
(*s0ch6) += a[i];
else
(*s7ch11) += a[i];
}
}
main()
{
float x[Value]; /*массив*/
int s0ch6,  /*сумма чисел первых 7 элементов*/
s7ch11,  /*сумма чисел оставшихся 5*/
answer,
i; /*индекс элемента массива*/
printf("Введите числа\n");
for (i = 0; i < 12; i++) scanf("%d", &x[i]);
SumElem(x, 12, &s0ch6, &s7ch11); /*вызов функции*/
answer = s0ch6 - s7ch11; /*разность сумм по задаче*/
printf("\nСумма 0-6: %d", s0ch6);
printf("\nСумма 7-11: %d", s7ch11);
printf("\nРазность = %d", answer);
}








Download 43.56 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling