0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
1

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов

17.06.2011, 21:59. Показов 14093. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, надо написать программу, которая вводит по строкам с клавиатуры двумерный массив
и вычисляет среднее арифметическое его элементов.
Может кто-нибудь помочь? Просто завтра сдавать работу (зачет) а я нифига не понял в этой теме (((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2011, 21:59
Ответы с готовыми решениями:

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
float v ; int i,j; int kk; float sr; float sum=0; for(int i=0; i<kk;i=i+1) cout<<endl<<"v=";...

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

Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов
#include "stdafx.h" #include"iostream" using namespace std; int _tmain(int argc, _TCHAR* argv)...

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

24
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2011, 00:59 2
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
#include <iostream>
 
int main()
{
    int n, m;
    std::cin >> n >> m;
    float** arr = new float* [n];
    float aver = 0;
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new float [m];
        for (int j = 0; j < m; ++j)
        {
            std::cin >> arr[i][j];
            aver += arr[i][j];
        }
    }
    aver /= n * m;
    std::cout << std::endl << "average = " << aver << std::endl;
    for (int i = 0; i < n; ++i)
        delete[] arr[i];
    delete[] arr;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
18.06.2011, 01:51  [ТС] 3
а можно как-нибудь на уровне второго курса? а то я честно говоря сомневаюсь что препод поверит в том, что это моя работа.

За старание огромное спасибо, вы первый человек, который отозвался на мою просьбу )
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.06.2011, 01:53 4
Цитата Сообщение от dominant_smile Посмотреть сообщение
а можно как-нибудь на уровне второго курса?
какой специальности?
Цитата Сообщение от dominant_smile Посмотреть сообщение
а то я честно говоря сомневаюсь что препод поверит в том, что это моя работа.
куда уж проще
Цитата Сообщение от dominant_smile Посмотреть сообщение
Информационная безопасность
остается только промолчать.
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
18.06.2011, 10:30  [ТС] 5
Информационная безопасность

Добавлено через 8 часов 36 минут
Цитата Сообщение от Maxwe11 Посмотреть сообщение
остается только промолчать.
А что такого? У нас этот предмет преподают только первый семестр, и толком ничего не объясняют..
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2011, 11:33 6
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, m;
    float arr[20][20]
    std::cin >> n >> m;
    //float** arr = new float* [n];
    //float aver = 0;
    for (int i = 0; i < n; ++i)
    {
        //arr[i] = new float [m];
        for (int j = 0; j < m; ++j)
        {
            /*std::*/cin >> arr[i][j];
            aver += arr[i][j];
        }
    }
    aver /= n * m;
    /*std::*/cout << /*std::*/endl << "average = " << aver << /*std::*/endl;
    //for (int i = 0; i < n; ++i)
    //    delete[] arr[i];
    //delete[] arr;
    system("pause");
    return 0;
}
проще можно. Хотя-бы вот так.
ps/ В этом варианте наджо бы еще поставить ограничение на ввод n и m, так что первый вариант был адекватнее...
pss/ Могу закомментировать первый вариант, там ничего сложного действительно нет, и выглядит красивее.
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
18.06.2011, 11:36  [ТС] 7
Цитата Сообщение от soon Посмотреть сообщение
pss/ Могу закомментировать первый вариант, там ничего сложного действительно нет, и выглядит красивее.
Если Вас не затруднит...)
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.06.2011, 11:47 8
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
#include <iostream> //Подключаем стандартную библиотеку ввода-вывода
 
int main()
{
    int n, m; //n - строки, m - столбцы
    std::cin >> n >> m; //Вводим размерность массива
    float** arr = new float* [n]; //Создаем указатель на указатель (**arr) и выделяем память под массив указателей
    float aver = 0; //Average - среднее арифметическое.
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new float [m]; //Для каждой строки массива выделяем память.
        for (int j = 0; j < m; ++j)
        {
            std::cin >> arr[i][j]; //Вводим элемент массива
            aver += arr[i][j]; //Собственно в конце цикла, aver будет выдавать сумму всех элементов массива
        }
    }
    aver /= n * m; //Делим сумму всех элементов массива на количество элементов. 
    std::cout << std::endl << "average = " << aver << std::endl; //Выводим aver
    for (int i = 0; i < n; ++i)
        delete[] arr[i]; //Освобождаем выделенную память для каждой строки
    delete[] arr; //Освобождаем выделенную память для самого массива.
    system("pause");
    return 0;
}
1
silent_1991
18.06.2011, 16:02
  #9

Не по теме:

Цитата Сообщение от soon Посмотреть сообщение
C++
1
#include <iostream> //Подключаем стандартную библиотеку ввода-вывода
Никаких библиотек мы не подключаем, мы просто подключаем заголовочный файл.

1
soon
18.06.2011, 21:00
  #10

Не по теме:

^
ага..
очепятался, бывает

0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
23.06.2011, 14:26  [ТС] 11
Ну вот, как я и думал, преподовательница не поверила в то, что это моя работа, сказала чтобы переделывал.
Я вот взял пример у одногруппника, у него немного другое задание, но у меня должно быть примерно так же...
Текстовый документ прикладываю к сообщению, если не сложно, помогите с этим двумерным массивом (
Задание такое же.
написать программу, которая вводит по строкам с клавиатуры двумерный массив
и вычисляет среднее арифметическое его элементов.

Добавлено через 57 минут
извиняюсь, забыл прикрепить файл
http://zalil.ru/31321230
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
23.06.2011, 15:49 12

Не по теме:

а можете скинуть вариант, который приняла преподавательница? Так, чисто для интереса



Добавлено через 3 минуты

Не по теме:

Или у всех были разные задания?

0
182 / 183 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
23.06.2011, 15:57 13
У ТС пример на С, а вы все ему на плюсах накатали =)
хотя ему следовало точнее язык указывать
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
23.06.2011, 16:05  [ТС] 14
Цитата Сообщение от soon Посмотреть сообщение

Не по теме:

а можете скинуть вариант, который приняла преподавательница? Так, чисто для интереса



Добавлено через 3 минуты

Не по теме:

Или у всех были разные задания?

У всех задания разные.
Цитата Сообщение от vet Посмотреть сообщение
У ТС пример на С, а вы все ему на плюсах накатали =)
хотя ему следовало точнее язык указывать
Извиняюсь

Все же, может кто-нибудь написать программу?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
23.06.2011, 16:14 15
Собственно, почему могли не принять вашу программу. Потому, что код, который я привел, написан на с++, а код вашего однорупника на Си
Можно вот что сделать. Возьмите код вашего одногрупника, и замените в нем void st_obmen на функцию, которая возвращает значение типа float и напишите в ней расчет среднего арифметического. расчет можете взять хотя бы из мое кода
результат выложите сдесь, если что я вас поправлю

Добавлено через 44 секунды
^
ыы
долго набирал
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
23.06.2011, 16:28  [ТС] 16
черт, сложновато как-то... немогли бы вы сделать? мне кажется Вам это сделать куда проще... я пока просто другую программку пишу...
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
23.06.2011, 16:54 17
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
36
37
38
39
40
41
42
43
44
45
    #include<stdio.h>                     
    #include<stdlib.h>                    
    #include<time.h>                      
    #include<conio.h>                     
    #include<alloc.h>                    
   
    float aver(int *a, int n)               
    {
     int i, pp, buf;  
     for (i = 0; i < n; ++i)
    for (j = 0; j < n; ++j)
        summ += a[i][j];
     return (summ / (n * n));   
                
    }
 
    void main()                 
    {
     int i, j, n, m, k, pk; 
     srand(2213);           
     do{                    
     clrscr();              
     printf("Введите размер массива: ");   
     scanf("%d", &n);                      
 
     int **a=(int **)malloc(n*sizeof(int));
                
 
     for(i=0; i<n; i++)     
     {
    a[i] = (int *)malloc(n*sizeof(int));
    for (j = 0; j < n; ++j)
    {
         a[i][j] = rand()%n;                                  
         printf("%4d",a[i][j]);                             
    }
    printf("\n");
     }                                                 
     printf("%f", aver(a, n));                                                                        
     printf("\n\n Выйти из программы? Да - нажми Esc "); 
     for(i=0; i<n; i++)                                                  
          free(a[i]);
     free(a);                                          
     }while (i!=27);                                  
    }
работоспособность не проверял, поскольку не на чем.
ps/ работает(если работает ) с массивом n*n. думаю сам допилишь
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
24.06.2011, 09:33  [ТС] 18
Цитата Сообщение от soon Посмотреть сообщение
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
36
37
38
39
40
41
42
43
44
45
    #include<stdio.h>                     
    #include<stdlib.h>                    
    #include<time.h>                      
    #include<conio.h>                     
    #include<alloc.h>                    
   
    float aver(int *a, int n)               
    {
     int i, pp, buf;  
     for (i = 0; i < n; ++i)
    for (j = 0; j < n; ++j)
        summ += a[i][j];
     return (summ / (n * n));   
                
    }
 
    void main()                 
    {
     int i, j, n, m, k, pk; 
     srand(2213);           
     do{                    
     clrscr();              
     printf("Введите размер массива: ");   
     scanf("%d", &n);                      
 
     int **a=(int **)malloc(n*sizeof(int));
                
 
     for(i=0; i<n; i++)     
     {
    a[i] = (int *)malloc(n*sizeof(int));
    for (j = 0; j < n; ++j)
    {
         a[i][j] = rand()%n;                                  
         printf("%4d",a[i][j]);                             
    }
    printf("\n");
     }                                                 
     printf("%f", aver(a, n));                                                                        
     printf("\n\n Выйти из программы? Да - нажми Esc "); 
     for(i=0; i<n; i++)                                                  
          free(a[i]);
     free(a);                                          
     }while (i!=27);                                  
    }
работоспособность не проверял, поскольку не на чем.
ps/ работает(если работает ) с массивом n*n. думаю сам допилишь
черт, не пашет программа (
а у меня уже экзамен начался, может кто-нибудь подправить программу?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.06.2011, 09:52 19
ошибки какие нибуть пишет?
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 11
24.06.2011, 10:31  [ТС] 20
Цитата Сообщение от soon Посмотреть сообщение
ошибки какие нибуть пишет?
неопределен символ j, a, и ещё какие то...

Добавлено через 12 минут
Undefined symbol 'j'
Undefined symbol 'summ'
parametr 'a' is never used
Cannot convert 'int**' to 'int*'
Type mismatch in parametr a in call to 'aver(int*, int)'
0
24.06.2011, 10:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2011, 10:31
Помогаю со студенческими работами здесь

Ввести с клавиатуры массив из 10 целых чисел и вычислить среднее арифметическое нечетных элементов
разработать программу, которая вводит с клавиатуры массив из 10 целых чисел и вычисляет среднее...

Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам
Пожалуйста, очень надо. Написать программу по обработке динамических массивов. Размеры массивов...

Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам
Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его...

Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по четным строкам. .(максимальная размерн
4. Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru