Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2007, 08:07   #1
Ci_novice
 
Регистрация: 23.12.2007
Сообщений: 5
По умолчанию нахождение суммы четных чисел в массиве

Здравствуйте!
помогите, я в С++ новичок. Решаю задачу "нахождение суммы четных чисел в массиве".
Вот моё решение

Код:
#include <iostream.h> 
main () 
{ 
int k,a[6],s; 
double b; 
s=0; 
for (k=0;k<6;k++) 
cin>>a[k]; 
b=a[6]%2; 
if (b==0) 
{ 
for (k=0;k<6;k++) 
s+=a[k];} 
cout<<s; 
} 

------------------
Результат = 0 Как мне исправить программу чтобы давала верный результат?
Правильно ли я поставил условие через "%"? Что в начале числа проверяются делением на 2 и если остаток равен нулю, то число четное.
-----------------
Также просьба обьяснить решение нахождения простых чисел. Есть уже готовая программа:

Цитата:
#include <iostream.h>
main ()
{
int t,s,i,k;
for (k=1; k<=50; k++)
{
s=0;
for (i=1; i<=k; i++)
{
t=k/i;
if (k==t*i) s++;
}
if (s<3) cout<<k;
}
}
Но я не могу разобраться как она работает. Можно ли представить её в виде нахождения просто "нечетных чисел" (ведь в "простых числах" - там только их них идёт последовательность")?

Модератор: Прочтите правила оформления постов !!!

Последний раз редактировалось merax; 23.12.2007 в 09:17.
Ci_novice вне форума Ответить с цитированием
Старый 23.12.2007, 12:11   #2
n@sok
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 46
По умолчанию

Нужно проверять на четность все элементы массива, а здесь проверяется только a[6], которого не существует
Код:
#include <iostream.h> 
main () 
{ 
int k,a[6],s; 
s=0; 
for (k=0;k<6;k++) 
cin>>a[k]; 
for (k=0;k<6;k++) 
{
if (a[k]%2 == 0)
s+=a[k];} 
cout<<s; 
}
Цитата:
просьба обьяснить решение нахождения простых чисел
В этой программе подсчитывается количество делителей для чисел от 1 до 50. Если число делится на меньшее, то увеличивается значение переменной s. При этом строки
t=k/i;
if (k==t*i) s++;
лучше заменить на
if (k%i==0) s++;
Если у какого-либо числа количество делителей меньше трех, значит это число простое. Простое число делится на 1 и на само себя.
n@sok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нахождение в массиве суммы значений, удовлетворяющих условию azov Microsoft Office Excel 27 26.06.2008 21:24
Нахождение минимума и максимума в трехмерном массиве 1234 Помощь студентам 11 26.05.2008 16:23
Колличество четных элементов в одномерном массиве forsy Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 21.05.2008 15:01
Нахождение суммы в массиве. PHP Айвенго Помощь студентам 3 28.01.2008 19:46
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53