Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2013, 22:56   #1
RusStyle
 
Регистрация: 17.11.2013
Сообщений: 7
Вопрос Помогите с действием в массиве разобраться.(язык С)

Ребят такая проблема!
Есть массив:
1 2 5 10
4 2 6 1
2 6 3 20

Надо в каждой строке найти среднее аримфметичесое этой строки,затем
в каждой строке выбирается элемент чьё значения минимально отличается от сред. арифм. значения строки.

После этого надо вывести элементы со своими индексами вместе с соответсвтвующими среднимии арифм.

Как мне всё это дело выразить на языке С??
RusStyle вне форума Ответить с цитированием
Старый 11.12.2013, 00:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты сможешь выразить ввод массива кодом?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.12.2013, 20:34   #3
RusStyle
 
Регистрация: 17.11.2013
Сообщений: 7
По умолчанию

Да,мне только вот с арифметическим разобратся и как вывод значения сделать
RusStyle вне форума Ответить с цитированием
Старый 11.12.2013, 22:14   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от RusStyle Посмотреть сообщение
Да,мне только вот с арифметическим разобратся и как вывод значения сделать
Stilet Вам намекнул - выкладывайте Ваш код (всё что есть - описание переменых, ввод массива), и Stilet любезно допишет Вам вычисление среднеарифметического!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2013, 20:34   #5
RusStyle
 
Регистрация: 17.11.2013
Сообщений: 7
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 10
#define COLUMNS 10
#define MAXVALUE 20
int main (void)
{
int i,j;
int sum,arifm;
int m,n;
int A [ROWS][COLUMNS];

scanf("%d",&m);
scanf("%d",&n);
A [m][n];
srand(time(0));
for(i=0; i<m; i++)
{
	for(j=0;j<n; j++)
	{
	A[i][j]=rand()% MAXVALUE + 1;
	}
}
i=j=0;
while (i<m)
{
	while (j<n)
	{
	printf("%4d", A[i][j]);
	j++;
	}
i++;
j=0;
printf("\n");
}
i++;
}
return 0;
}
По этому коду пользователь вводит число столбцов и рядов на основании чего формируется и заполняется массив.

Последний раз редактировалось Stilet; 12.12.2013 в 22:33.
RusStyle вне форума Ответить с цитированием
Старый 12.12.2013, 22:30   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
любезно допишет Вам вычисление среднеарифметического!
Точно так:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 10
#define COLUMNS 10
#define MAXVALUE 20
int main (void)
{
int i,j;
int sum,arifm;
int m,n;
int A [ROWS][COLUMNS+1];

scanf("%d",&m);
scanf("%d",&n);
A [m][n];
srand(time(0));
for(i=0; i<m; i++) {
 for(j=1;j<n; j++) {
  A[i][j]=rand()% MAXVALUE + 1;
  A[i][0]+=A[i][j]; // Это средние наших строк
 };
 A[i][0]/=n;
}

for(i=0; i<m; i++) { int amin=MAXVALUE+1,k=0;
 for(j=1;j<n; j++) {
  if(abs(A[i][0]-A[i][j])<amin) {amin=A[i][0]-A[i][j];k=j;} 
 }; printf("%d\t",A[i][k]);
}

return 0;
}
Не проверял но по идее не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество повторяющихся элементов в массиве (Язык С) Ковях Н Н Помощь студентам 0 21.01.2013 20:26
Интервал между действием Fiesko Общие вопросы Delphi 7 27.09.2012 00:08
В двумерном массиве найти среднеарифметическое положительных элемен-тов каждой строки. Язык Pascal. Pa s Помощь студентам 8 27.05.2012 21:44
Серии в массиве, помогите разобраться в задаче RomT24 Помощь студентам 7 14.01.2009 03:27
Серии в массиве, задача, помогите разобраться! RomT24 Паскаль, Turbo Pascal, PascalABC.NET 1 11.01.2009 20:32