Форум программистов, компьютерный форум CyberForum.ru

массив помощщ нужна - C++

Восстановить пароль Регистрация
 
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.10.2011, 14:31     массив помощщ нужна #1
Разработать схему алгоритма и программу, используя функции с параметрами для ввода массива и его обработки.
В массиве хранятся данные об осадках за месяц. Найти
• Количество дней с осадками больше среднего
вот накидал вариант функций ввода массива и вывода, не могу функцию обработки написать сообразить как чтоб ее выводить, в ней по идее должно вычесляться среднее значение осадков тоесть сложить все осадки и разделить на количество долждливых дней, а потом узнать какие дни привышали норму по осадкам и вывести именно их а не просто массив весь как у меня, и не знаю как допустим выбрали меню ввод массива после ввода вернутся обратно и выбрать вывод массива ну или обработка,помогите плиз а то всю голову уже сломал ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <conio.h>
using namespace std;
int vvod( int d)
{int p=0; int A[31];
cout << "kolichestvo dnei v mesace " << " 31 " << endl;
const int n = 31;
for (int i= 1; i<n; i++)
{cout << "vvedite kolichestvo osadkov v " << i << " dne";
cin >> A[i];p=p+A[i];;}  return 0;}// p -сумма осадков за все дни
int vivod ( int k)
{int A[31];
const int n = 31;
for (int i=1; i<n; i++)
cout << "v " << i << "dne osadkov bolhe norm " <<endl; return 0;}
main ()
{int ic;int d,k;
const int n = 31;
cout <<"1: vvod massiva" << endl;
cout <<"2: vidod massiva" << endl;
cin >> ic; cout << endl;
switch (ic)
{case 1:vvod(d); break;
 case 2:vivod(k);break;
default: cout << " netu takogo varianta";}
getch();}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.10.2011, 15:52     массив помощщ нужна #2
ну начнём
for (int i= 1; i<=n; i++)
cin >> A[i];p+=A[i]; }return 0;}// p -сумма осадков за все дни
дальше дни с осадками это
int dni=0;
if(A[i]>0) dni++;
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.10.2011, 15:53  [ТС]     массив помощщ нужна #3
ну это мы количество дней с осадками просто определили и все
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.10.2011, 16:21     массив помощщ нужна #4
равно у меня не работает по этому на ево место я буду ставить "`" а вместо плюса "~" вместо минуса №
C++
1
2
3
4
5
6
7
8
9
10
11
vivod(int &masiv[], int smas, int norma)
{
int kolvo`0;
inr nomerdni[31];
for(int i`1;i<`smas;i~~)
{
if (masiv[i]>normal)kolvo~~;
cout <<"номер дня " << i << "превышение нормы на" << masiv[i] № norm << endl;
}
cout << kolvo << endl; 
}
 Комментарий модератора 
Используйте теги форматирования кода!
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
02.10.2011, 16:32  [ТС]     массив помощщ нужна #5
Цитата Сообщение от Van111 Посмотреть сообщение
равно у меня не работает по этому на ево место я буду ставить "`" а вместо плюса "~" вместо минуса №
vivod(int &masiv[], int smas, int norma)
{
int kolvo`0;
inr nomerdni[31];
for(int i`1;i<`smas;i~~)
{
if (masiv[i]>normal)kolvo~~;
cout <<"номер дня " << i << "превышение нормы на" << masiv[i] № norm << endl;
}
cout << kolvo << endl;
}
Ну начнем с того откуда мы берем smas и normu? я примерно такое же прописывал только вот не знаю как при вызове это все работало вместо массива я использовал A[i] и так же писал если больше нормы то вывести и все так же как у вас дальше... только нормой у меня было p/n где p все осадки за месяц а n количество таких дней с осадками но я не знал как мне из функции взять эти показатели потом, чтоб отдельная процедура была обработки вот так выглядело
1 ввод массива
2 обработка массива выяснение дней превышающих норму
3 вывод массива
И чтоб после того как ввел все в первом меню меня обратно вернуло и я мог нажать на обработку и так далее вот это ни как не получалось
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
02.10.2011, 18:32     массив помощщ нужна #6
Цитата Сообщение от lexflax Посмотреть сообщение
но я не знал как мне из функции взять эти показатели потом, чтоб отдельная процедура была обработки вот так выглядело
ну если вы до сих пор не где не ннашлли то

void q(int n){
n`5 //ошибка
}
void main(){int n;q(n)} в даном примере n менятся в процедуре q(int n) не может а вот далее

вот тут n в процедуре q(int &n) n менятся может
void q(int &n){
n`5 // тут всё работает
}
void main(){int n;q(*n)}

Добавлено через 1 минуту
соэдаёте все переменые в функции main а потом их просто передаёте в функции как во втором примере!!!!!!!!!!!!!!!!!!!!!
Цитата Сообщение от Van111 Посмотреть сообщение
вот тут n в процедуре q(int &n) n менятся может
void q(int &n){
n`5 // тут всё работает
}
void main(){int n;q(*n)}
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
03.10.2011, 04:48  [ТС]     массив помощщ нужна #7
Цитата Сообщение от Van111 Посмотреть сообщение
соэдаёте все переменые в функции main а потом их просто передаёте в функции как во втором примере!!!!!!!!!!!!!!!!!!!!!
Ну вот ниже часть процедуры ввода где после каждого ввода элемента массива к переменной p присваивается его значение если в нем они есть, среднее значение я потом узнаю разделив его на количество дней , но делить я уже буду в процедуре обработки...допустим так грубо напишу
int obrabotka (int c)
{int p, int n;
c=p/n; return c} но ведь эта процедура у меня не будет видеть то предыдущее p в котором хранилось значение всех осадков, потом что та локальная была переменная которая видна лишь в теле своей процедуры, а если так то я в обработке ничего подсчитать не сумею, может есть способ сделать ее глобальной? чтоб она была видна потом во всех процедурах? и имело то значение которое задали ей в первой процедуре ввода
C++
1
2
3
4
5
6
7
int vvod( int d)
{int p=0; int A[31];
cout << "kolichestvo dnei v mesace " << " 31 " << endl;
const int n = 31;
for (int i= 1; i<n; i++)
{cout << "vvedite kolichestvo osadkov v " << i << " dne";
cin >> A[i];p=p+A[i];;}  return 0;}// p -сумма осадков за все дни
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2011, 16:08     массив помощщ нужна
Еще ссылки по теме:

C++ Нужна поправка
C++ Простой массив в с++ нужна прога
C++ Массив структур. Нужна доработка:)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
03.10.2011, 16:08     массив помощщ нужна #8
ну да
int p;-глобальная
void main(){}

Добавлено через 49 секунд
глобально всё то что не в функциях
Yandex
Объявления
03.10.2011, 16:08     массив помощщ нужна
Ответ Создать тему
Опции темы

Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru