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);
|
|
|

06.02.2010, 02:27
|
|
Новичок
Регистрация: 02.12.2009
Сообщений: 16
Провел на форуме: 101734
Репутация:
21
|
|
он просил функцию.
|
|
|

06.02.2010, 02:39
|
|
Новичок
Регистрация: 27.09.2009
Сообщений: 28
Провел на форуме: 404511
Репутация:
0
|
|
Сообщение от becensed
он просил функцию.
ну да, проглядел(.
|
|
|

06.02.2010, 03:25
|
|
Новичок
Регистрация: 02.12.2009
Сообщений: 16
Провел на форуме: 101734
Репутация:
21
|
|
я нигде не писал, что мой код - это истина в последней инстанции. Выражение "примерно так." это подтверждает.
сделать #define проще и экономичнее.
|
|
|

06.02.2010, 03:30
|
|
Новичок
Регистрация: 27.09.2009
Сообщений: 28
Провел на форуме: 404511
Репутация:
0
|
|
Код, который привел becensed выдает
Summa = 3
По моей проге я получаю
sum = 34
Или я не прав?
|
|
|

06.02.2010, 03:46
|
|
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме: 33560
Репутация:
15
|
|
KaE, больше похоже на правду)
|
|
|

06.02.2010, 04:09
|
|
Новичок
Регистрация: 02.12.2009
Сообщений: 16
Провел на форуме: 101734
Репутация:
21
|
|
так стоп. Я понял из-за чего вы на меня все набросились.
Автор изменил условие. Когда я его читал, было примерно так: определить сумму двух последующих элементов, после отрицательного.
|
|
|

06.02.2010, 17:25
|
|
Новичок
Регистрация: 22.01.2010
Сообщений: 25
Провел на форуме: 63520
Репутация:
0
|
|
нужно только чтоб подсчитывало отрецатилиные числа
а ета програма подсчинует все числа
на СИ написана
#include <stdio.h>
#define SIZE_N 2
#define SIZE_M 2
int main()
{
int matrix[ SIZE_N ][ SIZE_M ];
int sum;
int i, j;
printf( "\n Enter a matrix with %d rows and %d columns.\n", SIZE_N, SIZE_M );
for ( i = 0; i < SIZE_N; i++ )
{
printf( "\nEnter %d values for the row d: ", SIZE_M, i + 1 );
for ( j = 0; j < SIZE_M; j++ ) scanf( "%d", &matrix[ i ][ j ] );
}
sum = 0;
for ( i = 0; i < SIZE_N; i++ )
for ( j = 0; j < SIZE_M; j++ )
sum += matrix[ i ][ j ];
printf( "\nThe sum = %d\n", sum );
return 0;
}
|
|
|

06.02.2010, 19:44
|
|
Новичок
Регистрация: 22.01.2010
Сообщений: 25
Провел на форуме: 63520
Репутация:
0
|
|
а в етой програме мождно допесать чтоб считывала только отрецательные числа?
#include <stdio.h>
#define SIZE_N 2
#define SIZE_M 2
int main()
{
int matrix[ SIZE_N ][ SIZE_M ];
int sum;
int i, j;
printf( "\n Enter a matrix with %d rows and %d columns.\n", SIZE_N, SIZE_M );
for ( i = 0; i < SIZE_N; i++ )
{
printf( "\nEnter %d values for the row d: ", SIZE_M, i + 1 );
for ( j = 0; j < SIZE_M; j++ ) scanf( "%d", &matrix[ i ][ j ] );
}
sum = 0;
for ( i = 0; i < SIZE_N; i++ )
for ( j = 0; j < SIZE_M; j++ )
sum += matrix[ i ][ j ];
printf( "\nThe sum = %d\n", sum );
return 0;
}
|
|
|

07.02.2010, 22:58
|
|
Новичок
Регистрация: 22.01.2010
Сообщений: 25
Провел на форуме: 63520
Репутация:
0
|
|
Написать программу, реализует две функции с одинаковыми именами, но разными входными параметрами (перегрузка).
Функция Kol, которая находит количество положительных чисел с п введенных и количество символов в слове.
на с++
Последний раз редактировалось KrabKN; 08.02.2010 в 02:30..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|