1)В одномерном массиве, состоящем из n вещественных элементов, вычислить количество элементов массива, расположенных после минимального по модулю элемента
2)В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива , расположенных после первого элемента, равного нулю
Нужна помощь ибо я новичок и дуб дубом в этом)но хочу разобраться)
Язык С++
В одномерном массиве
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Давай разбираться вместе.
1) Идём по массиву, ищем минимальный по модулю элемент. Сохряняем его в отдельную переменную. Ещё раз идём по массиву до тех пор, пока не дойдём до ранее вычисленного элемента. Начиная с текущего индекса идём и складываем все элементы.
2) Выполняется ещё проще, одним проходом по массиву. Заводим флажок, который отвечает за то, встречался ли нам ноль или нет. Изначально он false. В цикле проверяем, если он false, то тогда просто делаем проверку текущего элемента на ноль и взводим флаг в true, а если же он не был false, то тогда складываем элементы массива.
Объявление массива выглядит так: <type> <name>[ <amount> ];
Например:
Флажок у нас всегда типа bool.
Например:
Цикл выглядит так: for ( <инийиализирующий блок>; <блок проверки не-выхода из цикла>; <блок изменения счётчика>)
Например:
Такой цикл выполнится 10 раз. При этом счётчик пробежит значения от 0 до 9, и внутри цикла, на каждой итерации значение счёткика можно будет использовать по назначению (например для обращения к i-ому элементу массива)
1) Идём по массиву, ищем минимальный по модулю элемент. Сохряняем его в отдельную переменную. Ещё раз идём по массиву до тех пор, пока не дойдём до ранее вычисленного элемента. Начиная с текущего индекса идём и складываем все элементы.
2) Выполняется ещё проще, одним проходом по массиву. Заводим флажок, который отвечает за то, встречался ли нам ноль или нет. Изначально он false. В цикле проверяем, если он false, то тогда просто делаем проверку текущего элемента на ноль и взводим флаг в true, а если же он не был false, то тогда складываем элементы массива.
Объявление массива выглядит так: <type> <name>[ <amount> ];
Например:
Код: Выделить всё
int arr[10]; // массив типа int из 10 элеменов (индексы от 0 до 9):
arr[0] = 1; // нулевому элементу присвоили 1
arr[2] = arr[1]; // второму элементу присвоили значение первого элемента
Например:
Код: Выделить всё
bool flag = false; // объявили переменную-флаг и инийиализировали её false
flag = !flag; // инвертировали значение флага (было true - стало false, было false - стало true)
if (flag) // проверка на то, взведён ли флаг (равен ли флаг true)
{
// do something
}
Например:
Код: Выделить всё
for (int i = 0; i < 10; ++i)
{
// do something
}
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Спасибо за Ваш подробный ответ,думаю теперь я составлю подобный код гораздо быстрее и правильнее))
Проверьте пожалуйста)
Вот сама задача:
В одномерном массиве, состоящем из n вещественных элементов, вычислить количество элементов массива, расположенных после минимального по модулю элемента
и еще одну)
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива , расположенных после первого элемента, равного нулю
Вот сама задача:
В одномерном массиве, состоящем из n вещественных элементов, вычислить количество элементов массива, расположенных после минимального по модулю элемента
Код: Выделить всё
#include<math.h> #include<stdio.h>
main(){
int a[n];
int min_i,A,i,imin;
printf ("%s \n", "Vvedite kol-vo el-ov massiva");
scanf("%d \n", n);
for(int i = 0; i < n; i++)
{
min_i=0;
for (i=1; i<N; i++)
if (abs(A[i])<abs(A[imin])
imin=i;
return N-imin-1;
}
printf("%s \n", "Kolichestvo elementov=",min_i);
for(int i = 0; i < n; i++)
{
printf ("%d ", a[i]);
}
Return 0;
}
и еще одну)
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива , расположенных после первого элемента, равного нулю
Код: Выделить всё
#include<math.h>*
#include<stdio.h>
main(){
int a[n];
int null_met,sum,A,i;
printf ("%s\n","Vvedite kolichectvo elementov");
20:09:34
scanf ("d\n",n);
for(int i = 0; i < n; i++)
{
null_met=0;
sum=0;
for (i=0; i<N; i++)
{
if (A==0)*
{
null_met=i;
break; // выход из цикла
}
}
for (i=null_met+1; i<N; i++)
sum = sum + A;
{
printf("%d\sum", "Summa ravna= ",sum);
return 0;
}