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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
#1

Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива - C++

15.04.2011, 01:32. Просмотров 939. Ответов 2
Метки нет (Все метки)

Подскажите пожалуйста. Задача такая : ввести с клавиатуры n элементов массива, распределить память для его размещения и ввести int значения этого массива. После этого подсчитать среднее арифметическое элементов и среднее геометрическое модулей элементов массива. Это всё нужно написать, стараясь максимально всё вынести за main (соблюдать модульность).

Вот , что пока получилось, может много что и не так, но только учусь...подправте пожалуйста

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
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <sstream>
using namespace std;
 float aruf( int arr[n],int n)
 {
       for(int i=0;i<n;i++)
       {
                       sum =arr[0++];
       }
       s_ar = sum/n
       return s_ar;
 }
int main()
{      
 while(int a =1)
       {
        setlocale(LC_ALL,"Rus");
        int n;
        cout<<"Ââåäèòå êîëè÷åñòâî åëåìåГ*òîâ Гў Г¬Г*Г±ГЁГўГҐ :\n";
        cin>>n;
        int arr[n];
        cout <<"Ââåäèòå åëåìåГ*ГІГ» Г¬Г*Г±ГЁГўГ* : ";
        
        
        
        aruf();
        for(i=0;i<n;i++)
              cout<<"ÑðåäГ*ГҐГҐ Г*ðèôìåòè÷åñêîå Г°Г*ГўГ*Г® :"<<s_ar;  
        i=0;
        
        
        }
        cin.get();
        return 0;
}
Правда много ещё что не дописано, но пробую сейчас, пишу...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2011, 01:32     Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива
Посмотрите здесь:
C++ Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
C++ Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов.
Ввести массив с клавиатуры и найти количество его элементов C++
C++ Ввести с клавиатуры массив, а потом вывести его на экран
Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию. C++
Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы C++
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов C++
Составить программу решения задачи. Все значения для вычисления ввести с клавиатуры: C++
C++ Составить программу решения задачи. Все значения для вычисления ввести с клавиатуры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
15.04.2011, 01:49     Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива #2
А вы запускали вообще это?
У вас куча ошибок.
C++
1
 while(int a =1)
Нельзя определять объект тут. Даже, если перед циклом определить объект a, то цикл будет повторятся, т.к. к a будет всегда присваиваться 1, а вам надо проверять, т.е. a==1.
Так же в цикле надо вводить с клавиатуры a, чтобы цикл был не бесконечен.

C++
1
int arr[n];
Это статическое определение массива.
Динамически будет так:
C++
1
int* mas = new int[n]
C++
1
 aruf();
Эта функция принимает 2 аргумента, а не 0. Причем эта функция возвращает сумму, а эту сумму надо в какой-то объект записать.
C++
1
2
 for(i=0;i<n;i++)
              cout<<"Среднее арифметическое равно :"<<s_ar;
Зачем вам n раз выводить средне арифметическую сумму?
C++
1
float aruf( int arr[n],int n)
Для динамики вместо int arr[n] надо написать int* arr
C++
1
i=0;
Какой в этом смысл?
C++
1
sum =arr[0++];
Где у вас определен объект sum?
В индексе надо писать номер элемента массива, т.е. i.
C++
1
s_ar = sum/n
Где определен объект ?

Т.к. массив определяется динамически, то его надо в конце удалить, чтобы не оставался в памяти.
C++
1
delete []arr;
В задаче, кроме средне арифметической сумме, надо еще искать средне арифметическую сумму, беря элементы массива по модулю, поэтому можно сделать еще функцию, которая будет отличаться только тем, что, когда будете записывать сумму, надо будет брать элементы по модулю функцией abs(элемент). Причем для этой функции надо #define "math.h"

C++
1
#include <sstream>
Зачем это нужно?
C++
1
 cout<<"Введите количество елементов в масиве :\n";
Для cout и cin нужно после #define <iostream> написать using namespace std;
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
15.04.2011, 10:26  [ТС]     Ввести с клавиатуры массив, распределить память для его размещения и ввести int значения этого массива #3
Да, спасибо.

Добавлено через 31 минуту
Много что странного я написал, понимаю, и Вам конечно более понятно, что я там "НАЧУДИЛ", спасибо за терпение и за что смогли прокомментировать мои ошибки...
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru