ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

06.02.2010, 03:09
|
|
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме: 33560
Репутация:
15
|
|
Сообщение от becensed
с++ не люблю. Вот тебе на Си (алгоритм простой, перепишешь, если что)
Код:
#include <stdio.h>
#include <math.h>
#define n 10
int summ(int a[])
{
int result = 0;
for (int i=0; i<=n; i++)
{
if(a[i] < 0)
{
result = abs(a[i+1]) + abs(a[i+2]);
break;
}
}
return result;
}
void main()
{
int a[n] = {1,5,11,-5,2,-1,3,2,9,-2};
printf("Summa = %d", summ(a));
}
//EOF
примерно так.
Не понял твой код, а если отрицательное число стоит в конце массива? То ты своим условием
Код:
abs(a[i+1]) + abs(a[i+2]);
выйдешь за границы массива. Попробуй на этом контр примере запустить программу
Код:
int a[n] = {1,5,11,5,2,1,3,2,9,-2};
И зачем определять n, если можно так
Код:
int n = sizeof(a)/sizeof(int);
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|