Создать программы для решения задачи. Выполнить задачи двумя способами:
А) С клавиатуры вводится одномерный массив n целых чисел.
Б) Заполнить массив n целых чисел значениями с помощью генератора
псевдослучайных чисел из отрезка [-100; 100].
Задачка:
Определить 1) максимальный по модулю элемент массива; 2) сумму элементов
массива, расположенных после последнего нулевого элемента.
C/C++
Очень нужна помощь. нужен код на C. Задачка будет в описании.
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
const int fnn()
{
int n;
printf("Введите n: ");
scanf("%d", &n);
return n;
}
int main()
{
const int n = fnn();
int A[n]; /* для ручного ввода */
for(int x = 0; x < n; x++)
{
int tmp;
printf("Введите число: ");
scanf("%d", &tmp);
A[x] = tmp;
putchar('\n');
}
int maxAbs = A[0];
int lastZero = -1;
int sum = 0;
for(int x = 1; x < n; x++)
{
if(A[x] == 0) lastZero = x; /* ищем последний ноль */
if( fabs(A[x]) > fabs(maxAbs) ) maxAbs = A[x];
/* ищем максимальный по модулю элемент */
}
printf("Максимальный по модулю элемент массива равен %d.\n", maxAbs);
if(lastZero > -1) /* если нули вообще есть */
{
for(int x = lastZero + 1; x < n; x++)
sum += A[x];
printf("Сумма элементов после последнего нулевого значения составляет %d.\n", sum);
}
else
{
printf("Нулей в массиве нет. \n");
}
printf("\n\n");
/* ******************************** */
int B[n]; /* для заполения генератором */
srand(time(NULL)); /* чтобы правильно работал генератор */
for(int x = 0; x < n; x++)
{
B[x] = rand() % 101 * pow(-1.0, rand() % 2);
printf("%d ", B[x]);
}
putchar('\n');
maxAbs = B[0];
lastZero = -1;
sum = 0;
for(int x = 1; x < n; x++)
{
if(B[x] == 0) lastZero = x; /* ищем последний ноль */
if( fabs(B[x]) > fabs(maxAbs) ) maxAbs = B[x];
/* ищем максимальный по модулю элемент */
}
printf("Максимальный по модулю элемент массива равен %d.\n", maxAbs);
if(lastZero > -1) /* если нули вообще есть */
{
for(int x = lastZero + 1; x < n; x++)
sum += B[x];
printf("Сумма элементов после последнего нулевого значения составляет %d.\n", sum);
}
else
{
printf("Нулей в массиве нет. \n");
}
return 0;
}
#include <math.h>
#include <time.h>
#include <stdlib.h>
const int fnn()
{
int n;
printf("Введите n: ");
scanf("%d", &n);
return n;
}
int main()
{
const int n = fnn();
int A[n]; /* для ручного ввода */
for(int x = 0; x < n; x++)
{
int tmp;
printf("Введите число: ");
scanf("%d", &tmp);
A[x] = tmp;
putchar('\n');
}
int maxAbs = A[0];
int lastZero = -1;
int sum = 0;
for(int x = 1; x < n; x++)
{
if(A[x] == 0) lastZero = x; /* ищем последний ноль */
if( fabs(A[x]) > fabs(maxAbs) ) maxAbs = A[x];
/* ищем максимальный по модулю элемент */
}
printf("Максимальный по модулю элемент массива равен %d.\n", maxAbs);
if(lastZero > -1) /* если нули вообще есть */
{
for(int x = lastZero + 1; x < n; x++)
sum += A[x];
printf("Сумма элементов после последнего нулевого значения составляет %d.\n", sum);
}
else
{
printf("Нулей в массиве нет. \n");
}
printf("\n\n");
/* ******************************** */
int B[n]; /* для заполения генератором */
srand(time(NULL)); /* чтобы правильно работал генератор */
for(int x = 0; x < n; x++)
{
B[x] = rand() % 101 * pow(-1.0, rand() % 2);
printf("%d ", B[x]);
}
putchar('\n');
maxAbs = B[0];
lastZero = -1;
sum = 0;
for(int x = 1; x < n; x++)
{
if(B[x] == 0) lastZero = x; /* ищем последний ноль */
if( fabs(B[x]) > fabs(maxAbs) ) maxAbs = B[x];
/* ищем максимальный по модулю элемент */
}
printf("Максимальный по модулю элемент массива равен %d.\n", maxAbs);
if(lastZero > -1) /* если нули вообще есть */
{
for(int x = lastZero + 1; x < n; x++)
sum += B[x];
printf("Сумма элементов после последнего нулевого значения составляет %d.\n", sum);
}
else
{
printf("Нулей в массиве нет. \n");
}
return 0;
}
Денис Коновалов
Спасибо добрый человек.
Денис Коновалов
А как запустить генератор случайных чисел?
https://pastebin.com/br17Ak7p
а такой вариант
а такой вариант
Денис Коновалов
Отличный вариант мне нужно чтобы в этой программе можно было выбирать каким способом выполнить код первое это вводить числа с клавиатуры а второй чтобы сам генератор ставил свои числа в диапазоне -100 100.
Похожие вопросы
- Очень нужен код на c++ (тема: ГРАФЫ)
- МОЛЮ О ПОМОЩИ!!! НУЖЕН КОД НА C++!!!!!!!!! ПОМОГИТЕ!!!!!!!!!!!
- Помогите пожалуйста! Нужен код на C++
- Нужен готовый код по C++ рабочий без ошибок C++
- Задание на C++. Помощь с кодом.
- C++ Нужен код c++ с массивов.
- Нужна помощь по шаблонам на C++
- Нужен код на С. Подробней в описании
- Нужен готовый код по C++
- Сортировка выбором. Язык C++. Помощь с кодом.