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, 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..
|
|
|

08.02.2010, 03:05
|
|
Новичок
Регистрация: 21.01.2010
Сообщений: 7
Провел на форуме: 9494
Репутация:
0
|
|
привет ув. программисты=)опять нужна ваша помощь с лабой.
язык С.
Написать программу, реализует две функции с одинаковыми именами, но разными входными параметрами (перегрузка).
Функция max, которая находит максимальное значение из двух целых чисел i поиск подстроки в строке.
Если можно сделать на подобии этой лабороторной:
Код:
#INCLUDE <iostream.h>
int sogl(char b);
void main()
{char b;
cout<<"vvedite bukvu";
cin>>b;
if(sogl(b)==1) cout<<"soglasnaja";
else cout<<"glasnaja";
}
int sogl(char b)
{
{if(b=='q'||b=='w'||b=='r'||b=='t'||b=='p'||b=='s'||b=='d'||b=='f'||b=='g'||b=='h'||b=='j'||b=='k'||b=='l'||b=='z'||b=='x'||b=='c'||b=='v'||b=='b'||b=='n'||b=='m')
return 1;
else
return 0;
}
}
написал для того ,ибо знайу что вы можете написать и в 5 строк прогу,но препод не верит что я так тоже могу.заранее спасибо
Последний раз редактировалось slesh; 08.02.2010 в 11:02..
Причина: [code]
|
|
|

08.02.2010, 14:10
|
|
Участник форума
Регистрация: 26.05.2007
Сообщений: 191
Провел на форуме: 389326
Репутация:
9
|
|
Сообщение от sledopit2
привет ув. программисты=)опять нужна ваша помощь с лабой.
язык С.
Написать программу, реализует две функции с одинаковыми именами, но разными входными параметрами (перегрузка).
Функция max, которая находит максимальное значение из двух целых чисел i поиск подстроки в строке.
Если можно сделать на подобии этой лабороторной:
Код:
#INCLUDE <iostream.h>
int sogl(char b);
void main()
{char b;
cout<<"vvedite bukvu";
cin>>b;
if(sogl(b)==1) cout<<"soglasnaja";
else cout<<"glasnaja";
}
int sogl(char b)
{
{if(b=='q'||b=='w'||b=='r'||b=='t'||b=='p'||b=='s'||b=='d'||b=='f'||b=='g'||b=='h'||b=='j'||b=='k'||b=='l'||b=='z'||b=='x'||b=='c'||b=='v'||b=='b'||b=='n'||b=='m')
return 1;
else
return 0;
}
}
написал для того ,ибо знайу что вы можете написать и в 5 строк прогу,но препод не верит что я так тоже могу.заранее спасибо
Я немного немного не понял условия, типа нахождения наибольшего из двух целых чисел. кароче я набросал на с++ небольшой вариант, где из 5 чисел, которым присвоины значения рандомом выбирается наибольшее и наименьшее для примера
и также отисивается индекс вхождения подстроки в строку. Возьми, что тебе необходимо
/*Написать программу, реализует две функции с одинаковыми именами, но разными
входными параметрами (перегрузка).
Функция max, которая находит максимальное значение из двух целых чисел i
поиск подстроки в строке.*/
#include<iostream>
#include<cstdlib>
using namespace std;
int max(char *sub, char *str);
void max();
int main()
{
// Вхождение подстроки в строке(индекс вхождения)
int index;
setlocale(LC_ALL, "Russian");
index=max("три","один два три чатыре");
cout<<"Индекс вхождения подстроки в строке "<<index<<endl;
//нахождения максимального числа и ну минимального для примера
cout<<"Нахождение максимального и минимального числа: "<<endl;
max();
return 0;
}
int max(char *sub, char *str)
{
int t;
char *p;
char *p2;
for(t=0; str[t]; t++)
{
p=&str[t];
p2=sub;
while(*p2 && *p2==*p){
p++;
p2++;
}
if(!*p2) return t;
}
return -1;
}
void max()
{
setlocale(LC_ALL, "Russian");
int list[4];
int min_value;
int max_value;
int i;
for(i=0; i<4; i++) list[i]=rand();//положим случайные значения
//поиск максимльного значения
max_value=list[0];
for(i=0;i<4; i++)
if(max_value<list[i]) max_value=list[i];
cout<<"Максимальное значение равно: "<<max_value<<endl;
min_value=list[0];
for(i=0;i<4; i++)
if(min_value>list[i]) min_value=list[i];
cout<<"Минимальное значение равно: "<<min_value<<endl;
}
или
находит максимальное значение из двух целых чисел
int i,j;
cin>>i>>j;
if(i>j) cout<<"iбольше j";
Последний раз редактировалось SHARA; 08.02.2010 в 16:33..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|