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



Yüklə 43,56 Kb.
səhifə1/2
tarix17.01.2023
ölçüsü43,56 Kb.
#79495
növüЛабораторная работа
  1   2
ПРАКТИЧЕСКАЯ 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);
}








Yüklə 43,56 Kb.

Dostları ilə paylaş:
  1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin