
C/C++
Помогите Программирование на Си (одномерные массивы)

#include <stdio.h>
#include <stdlib.h>
void show(int* box, size_t n) {
size_t i;
for (i = 0; i < n; ++i) printf("%3i", box[i]);
puts("");
}
void stable_partition(int* box, size_t n) {
int* tmp = (int*)malloc(n * sizeof(int));
size_t i;
size_t m = 0;
for (i = 0; i < n; ++i) if (box[i] >= 0) {
tmp[m] = box[i];
++m;
}
for (i = 0; i < n; ++i) if (box[i] < 0) {
tmp[m] = box[i];
++m;
}
for (i = 0; i < n; ++i) box[i] = tmp[i];
free(tmp);
}
int main(void) {
int a[] = { 2, -6, 0, 8, -3, 9, 1, -5, 0, 5, 0, 4, -7, 7 };
size_t n = sizeof(a) / sizeof(a[0]);
size_t i, j;
long long m = 1;
int s = 0;
show(a, n);
for (i = 1; i < n; i += 2) m *= a[i];
printf("Product: %lli\n", m);
i = 0;
while (a[i]) if (++i == n) break;
if (++i >= n) puts("Not found!");
else {
j = n - 1;
while (a[j]) if (--j == 0) break;
if (i >= j) puts("Not found!");
else {
do s += a[i]; while (++i != j);
printf("Sum: %i\n", s);
}
}
stable_partition(a, n);
show(a, n);
system("pause > nul");
return 0;
}
#include <stdlib.h>
void show(int* box, size_t n) {
size_t i;
for (i = 0; i < n; ++i) printf("%3i", box[i]);
puts("");
}
void stable_partition(int* box, size_t n) {
int* tmp = (int*)malloc(n * sizeof(int));
size_t i;
size_t m = 0;
for (i = 0; i < n; ++i) if (box[i] >= 0) {
tmp[m] = box[i];
++m;
}
for (i = 0; i < n; ++i) if (box[i] < 0) {
tmp[m] = box[i];
++m;
}
for (i = 0; i < n; ++i) box[i] = tmp[i];
free(tmp);
}
int main(void) {
int a[] = { 2, -6, 0, 8, -3, 9, 1, -5, 0, 5, 0, 4, -7, 7 };
size_t n = sizeof(a) / sizeof(a[0]);
size_t i, j;
long long m = 1;
int s = 0;
show(a, n);
for (i = 1; i < n; i += 2) m *= a[i];
printf("Product: %lli\n", m);
i = 0;
while (a[i]) if (++i == n) break;
if (++i >= n) puts("Not found!");
else {
j = n - 1;
while (a[j]) if (--j == 0) break;
if (i >= j) puts("Not found!");
else {
do s += a[i]; while (++i != j);
printf("Sum: %i\n", s);
}
}
stable_partition(a, n);
show(a, n);
system("pause > nul");
return 0;
}
Андрей Баранов
а можете это на с ++ сделать ?
Похожие вопросы
- Кто поможет в языке Си, с массивом. Не могу понять как сделать
- Одномерные массивы на языке си
- Нужна помощь в составлении одномерных массивов С++
- C++\Работа с одномерными массивами: удаление, добавление, перестановка, поиск
- Одномерные массивы. Сортировка
- В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива
- Написать программу «справочник». Создать два одномерных массива. Один массив хранит номера мобильных телефонов, второй
- Написать код на С++ в одномерном массиве
- Помогите добавить ввод чисел в массив матрицы на языке Си
- Написать программу на С++ с применением одномерных массивов, используя указатели.