Найти сумму чисел, делящихся на 3 или на 7 - C (СИ)
Формулировка задачи:
доброго времени суток,
Дана последовательность целых чисел {Aj} произвольной длины. Найти сумму чисел, делящихся на 3 или на 7, наименьшее из таких чисел, и номер этого числа в последовательности. - пишу на turbo c++ помогите новичку.
после того как нашел сумму не могу найти наименьшее значение,
думаю надо создать отдельный массив из чисел делимыз на 3 или на 7 но ниче не получаеца. вот че я настрочил
------------------------------------------------------
#include <stdio.h> #include <conio.h> #include <stdlib.h> main() { int q,t,i,k,j,low,sum,f,m[20],m1[20]; clrscr(); q=0; t=0; k=0; sum=0; do { printf("Введите количество элементов в массиве (не больше 20)\n"); scanf("%d",&f); if ((f>0) && (f<=20)) t=1; else printf("Вы ввели неверное количество элементов \n"); } while (t==0); printf("Введите элементы массива:\n"); for (i=0;i<=f;i++) scanf("%d",&m[i]); for(i=0;i<=f;i++) { if ((m[i]%3 == 0) || (m[i]%7 == 0)) { sum=sum+m[i]; k=k+1; } for (j=0;j<=k;j++) { m1[j]=m[i]; low=m1[1]; if (m1[j]<low) low=m1[j]; } } for (i=0;i<=f;i++) { if (m[i]=low) q=i;} if (sum!=0) { printf("Наименьший элемент в последовательности делимый на 3 или на 7 = %d\n",low); printf("Номер минимального числа делимого на 3 или на 7: %d\n",q); printf("Сумма чисел делимых на 3 или на 7 равна = %d",sum); } else printf("В массиве нет чисел делимых на 3 или на 7 \n"); }
Решение задачи: «Найти сумму чисел, делящихся на 3 или на 7»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> main() { int q,t,i,low,sum,f,m[20]; clrscr(); q=0; t=0; sum=0; do { printf("Введите количество элементов в массиве (не больше 20)\n"); scanf("%d",&f); if ((f>0) && (f<20)) t=1; else printf("Вы ввели неверное количество элементов \n"); } while (t==0); printf("Введите элементы массива:\n"); for (i=0;i<f;i++) scanf("%d",&m[i]); for(i=0;i<f;i++) { if ((m[i]%3 == 0) || (m[i]%7 == 0)) { if(q==0) {q=1; low=i;} else { if(m[low]>m[i]) low=i;} sum=sum+m[i]; } } if (sum!=0) { printf("Наименьший элемент в последовательности делимый на 3 или на 7 = %d\n",m[low]); printf("Номер минимального числа делимого на 3 или на 7: %d\n",low+1); printf("Сумма чисел делимых на 3 или на 7 равна = %d",sum); } else printf("В массиве нет чисел делимых на 3 или на 7 \n"); getch(); }
Объяснение кода листинга программы
- Объединение всех необходимых заголовочных файлов
- Объявление переменных: q, t, i, low, sum, f, m[20]
- Очистка экрана с помощью функции clrscr()
- Инициализация переменных q и t значением 0
- Ввод количества элементов в массиве с помощью функции scanf()
- Проверка на корректность введенного количества элементов (больше 0 и меньше 20)
- Ввод элементов массива с помощью функции scanf()
- Проверка каждого элемента массива на условие делимости на 3 или 7 с помощью условного оператора if
- Если условие выполняется, то текущий элемент добавляется к сумме, а его индекс сохраняется в переменной low
- Если сумма не равна нулю, то выводится наименьший элемент, делится на 3 или 7, и его номер
- Если сумма равна нулю, то выводится сообщение о том, что в массиве нет чисел, которые делятся на 3 или 7
- Завершение работы программы с помощью функции getch()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д