Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840