Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
2 / 2 / 1
Регистрация: 10.03.2013
Сообщений: 39
1

Массив: Количество элементов массива, равных 0

10.03.2013, 16:53. Показов 2273. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан одномерный массив, состояший из n вещественных элементов. нужно вычислить: 1) количество элементов массива,равных 0; 2)сумму элементов массива, расположенных после минимального элемента. Только начала изучать C, была бы рада, если бы кто-нибудь объяснил и показал как решить эту задачу. Надеюсь на вашу помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2013, 16:53
Ответы с готовыми решениями:

Найти количество элементов ,равных 0 и сумму элементов массива, распол-ых после минимального элемента
Я написала программу с двумя элементами ввода массивов, но результат выводит не неверный и после...

Вычислить количество элементов массива, равных 0
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов...

Количество элементов массива, равных нулю
Найти количество элементов массива состоящий из N элементов, равных нулю.

Подсчитать количество элементов массива, равных нулю
. Подсчитать количество элементов массива, равных нулю. Вывести на дисплей полученное значение....

10
123 / 123 / 82
Регистрация: 03.01.2013
Сообщений: 242
10.03.2013, 17:24 2
1. цикл от 0 до нашего н
если елемент массива = 0, то счетчик + 1
2. ищем мин. елемент
записываем его индекс

потом цикл от индекса мин елемента до н
считаем сумму

--
что не ясно, спрашивайте

C
1
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int n = 20;
int main(void) {
    srand(time(NULL));
    int a[n];
    int i, min_i=0, min, count=0, sum=0;
    
    for (int i = 0; i<n; i++) {
        a[i] = rand()%10-5;
        if (a[i] == 0) 
            count++;
        printf("%d ", a[i]);
    }
    printf("\nElements equals to zero %d\n", count);
    for (int i = 0; i<n; i++) {
        if (a[i] < min) {
            min = a[i];
            min_i = i;
        }
    }
    for (int i = min_i; i<n; i++)
        sum += a[i];
    printf("Sum of elements after min element: %d\n", sum);
    return 0;
}
1
10 / 10 / 1
Регистрация: 30.09.2012
Сообщений: 172
10.03.2013, 17:28 3
1)
C
1
2
3
for (i=0; i<n; ++i) 
        if (mass[i] == 0)
            ++сount;
где, mass[n]-одномерный массив; i-индекс массива mass[n]; count-обычная переменная=числу нулей.
2)
C
1
2
3
4
5
6
7
8
9
10
i_min=0;
    summa=0;
    min=mass[0];
    for (i=0; i<n; ++i) 
        if (mass[i]<min) {
            min=mass[i];
            i_min=i;
        }
    for (i=i_min; i<n; ++i) 
        summa+=mass[i];
где min-минимальный элемент; i_min-индекс минимального эл-та; summa-сумма элементов.
P.S. сам новичек, так что не исключаю того, что имеются ошибки
1
2 / 2 / 1
Регистрация: 10.03.2013
Сообщений: 39
10.03.2013, 17:55  [ТС] 4
ntrx, непонятны вот эти 2 строчки, спасибо вам большое!

Цитата Сообщение от alisska Посмотреть сообщение
int main(void) {
srand(time(NULL));
0
123 / 123 / 82
Регистрация: 03.01.2013
Сообщений: 242
10.03.2013, 18:00 5
int main(void) { - заголовок нашей программы, всегда так пишется, то что в скобках может быть разным,
а int main всегда

--
srand(int) -ф-я, которая инициализирует случайное число, принимает целые значения (int)
чтобы числа не повторялись с каждым запуском, используем ф-ю time() которая показывает время
1
2 / 2 / 1
Регистрация: 10.03.2013
Сообщений: 39
10.03.2013, 18:04  [ТС] 6
ntrx, спасибо большое! попробовала скомпилировать программу на dev c++ и увидеть результат, почему-то окно исчезает, в чем же дело ?
0
123 / 123 / 82
Регистрация: 03.01.2013
Сообщений: 242
10.03.2013, 18:09 7
подключите заг. файл conio.h

и перед return 0; добавьте getch();
0
2 / 2 / 1
Регистрация: 10.03.2013
Сообщений: 39
10.03.2013, 18:18  [ТС] 8
ntrx, conio.h подключила, а вот про getch () забыла, спасибо !!!

Добавлено через 7 минут
ntrx, извините, но еще появился вопрос по этой строке, я упустила, теперь не очень понятно: a[i] = rand()%10-5;
0
10 / 10 / 1
Регистрация: 30.09.2012
Сообщений: 172
10.03.2013, 18:24 9
если я не ошибаюсь, то генератор случайных чисел в диапазоне -4;4
1
2 / 2 / 1
Регистрация: 10.03.2013
Сообщений: 39
10.03.2013, 19:24  [ТС] 10
ntrx, у меня результат выходит неверный, а у вас программа правильно работала ?
0
123 / 123 / 82
Регистрация: 03.01.2013
Сообщений: 242
10.03.2013, 20:01 11
C
1
2
for (i = min_i+1; i<n; i++)
        sum += a[i];
- ПОСЛЕ мин. эл. суммировать
если элементы повторяются то будет мин. тот, что был первым
1
10.03.2013, 20:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2013, 20:01
Помогаю со студенческими работами здесь

Подсчитать количество элементов массива, равных нулю
Заданы одномерные массивы X(N),Y(M),Z(L).Для каждого из них: 1) Подсчитать количество элементов...

Массив: Нужно найти количество элементов равных нулю
Дан одномерный массив из 10 целых чисел. Нужно найти количество элементов равных нулю. Написал код...

Определить количество элементов во второй строке равных первому элементу массива
Ребят,выручайте срочно. Нужна помощь. В общем дан массив Y (13,13) и нужно определить количество...

Определить в массиве количество элементов, равных полусумме первого и последнего элементов
Определить в массиве количество элементов , равных полусумме первого и последнего элементов. На СИ


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru