3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
||||||
1 | ||||||
Заменить нулевые элементы строк матрицы на среднее арифметическое26.10.2015, 22:58. Показов 2380. Ответов 16
Метки нет (Все метки)
Здравствуйте,нужна помощь с программкой. Задание:В прямоугольной матрице каждый нулевой элемент заменить средним арифметическим значением ненулевых элементов той строки, в которой расположен этот элемент.
Собственно начал работать и вот в чем загвоздка,печатается массив и находится среднее арифметическое,но всех элементов,а надо,чтоб нулевые не учитывались. С заменой еще не разбирался,так как тут застрял. Моя наработка кода,буду признателен за помощь.
0
|
26.10.2015, 22:58 | |
Ответы с готовыми решениями:
16
Заменить нулевые элементы на среднее арифметическое наименьшего и наибольшего элементов В массиве действительных чисел все нулевые элементы заменить на среднее арифметическое всех элементов массива Найти среднее арифметическое элементов каждой из четных строк матрицы Вычислить среднее арифметическое элементов матрицы, лежащих на пересечении строк |
15 / 15 / 21
Регистрация: 24.09.2014
Сообщений: 76
|
||||||||||||||||
26.10.2015, 23:43 | 2 | |||||||||||||||
Сообщение было отмечено Памирыч как решение
Решение
Сложный вывод матрицы. Зачем строить велосипед? (просто пример, не для этой программы).
Неправильно условие прочитал. У меня учитывались нули. Вот, переделал:
1
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 09:17 [ТС] | 3 |
Сначала компилятор выдал вот такие ошибки:
1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "lconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "localeconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "setlocale" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(8): error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(9): error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(11): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(13): error C2065: m: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(14): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(14): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(14): warning C4047: =: "int" отличается по уровням косвенного обращения от "int **" 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(15): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(15): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(15): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(15): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(16): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(16): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(16): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(16): error C2065: m: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(17): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(17): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(17): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(17): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(18): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(18): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(18): error C2065: m: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(18): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(20): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(20): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(21): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(21): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(21): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(21): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(24): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(24): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(24): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(24): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(27): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(27): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(27): error C2065: m: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(27): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(28): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(28): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(28): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(28): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(31): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(31): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(31): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(31): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(33): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(33): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(33): error C2065: m: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(33): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(34): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(34): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(34): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(34): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(36): error C2065: s: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(36): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(36): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(36): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(36): error C2065: j: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(37): error C2065: k: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(39): error C2065: s: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(39): error C2065: k: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(40): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(40): error C2065: s: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(41): error C2065: s: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(42): error C2065: k: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(44): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(44): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(44): error C2065: n: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(44): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(45): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(45): error C2065: i: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(45): error C2109: для индекса требуется массив или указатель 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(45): error C2198: free: слишком мало аргументов для вызова 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(46): error C2065: mas: необъявленный идентификатор 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(46): warning C4022: free: несоответствие указателя для фактического параметра 1 1> 1>СБОЙ построения. Я в коде передвинул обьявление в начало и обьявил еще переменную s(так как компилятор затребовал) и вот,что он мне вновь выдал за ошибки: 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "lconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "localeconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "setlocale" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>c:\users\slawa\desktop\исходники\кр 2 матрица.c(9): error C2143: синтаксическая ошибка: отсутствие ";" перед "тип" Как быть?
0
|
15 / 15 / 21
Регистрация: 24.09.2014
Сообщений: 76
|
|
27.10.2015, 13:36 | 4 |
Какая IDE?
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 14:16 [ТС] | 5 |
0
|
15 / 15 / 21
Регистрация: 24.09.2014
Сообщений: 76
|
|
27.10.2015, 15:08 | 6 |
Так же Visual Studio 2010. Все работает.
Добавлено через 2 минуты Попробуй убрать setlocale.
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 15:30 [ТС] | 7 |
Все равно вот это выдает
1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "lconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "localeconv" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; 1>d:\новая папка\vc\include\clocale(23): error C2061: синтаксическая ошибка: идентификатор "setlocale" 1>d:\новая папка\vc\include\clocale(23): error C2059: синтаксическая ошибка: ; Добавлено через 6 минут Я только конечно учусь,но не пойму причем в ошибке 23 строка? если там у нас просто печать,а он туда еще что-то приписывает.
0
|
27.10.2015, 15:54 | 8 | |||||
Satros1205,
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 16:15 [ТС] | 9 |
Kerry_Jr, Вот ваша программа работает,вопрос только вот это никак нельзя заменить/засунуть под инт?)
Буду разбираться с вашим кодом и хочу попробовать переписать под свой лад,чтобы мог потом преподу его собственно обьяснить) а то я в таком формате как вы еще не писал и не совсем понятен код.
0
|
27.10.2015, 17:11 | 10 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Satros1205, если сделать через int, то среднее арифметическое в массив не запишется, точнее запишется только целая часть.
Добавлено через 9 минут Можете так попробовать
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 17:37 [ТС] | 11 |
Kerry_Jr, я просто хочу переписать код попроще(по такому принципу как я шапке темы выкладывал),чтобы я мог хоть обьяснить,что к чему) Вот у меня пару вопросов
Можно ли это чем нибудь попроще заменить? я просто не понимаю,что такое replace а чем заменить его я хз. Еще такой вопрос,можно ли всю работу программы засунуть под int main? Т.е. чтоб начало программы int main... и всего лишь один return в конце,чтоб не было void Обьясняю конечно как первобытный,но как могу) А вот здесь не пойму,у вас тут расчет СА,но не вижу где проверка условия,чтобы элемент не был равен нулю. Спасибо за помощь за раннее) Добавлено через 12 минут Я просто уверен,что препод потребует,чтоб программа показывала СА,я так понимаю в этом случае спецификатор void можно убрать? Добавлено через 10 минут Или допустим можно как нибудь изменить мой код,чтобы там при расчете СА не считало нулевые элементы? или мой код безнадежен?)
0
|
27.10.2015, 18:06 | 12 |
вот проверка на то, что элемент не равен нулю. То есть, в С/С++ некоторые типы данных могут быть автоматически преобразованы к типу bool - все, что ноль -
false , остальное - true . Так вот, если matrix[j] равен нулю, то в условии он преобразуется в false , и тело условия не выполнится, в остальных случаях условие выполняется.
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
||||||
27.10.2015, 18:10 [ТС] | 13 | |||||
Kerry_Jr,
0
|
27.10.2015, 18:23 | 14 | |||||
Сообщение было отмечено Satros1205 как решение
Решение
Satros1205,
1
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 18:25 [ТС] | 15 |
Kerry_Jr,
Огромное спасибо,этот код мне намного понятен
0
|
27.10.2015, 18:28 | 16 | ||||||||||||||||||||
Satros1205, там где звездочки в printf, замените звездочки нужными числами, а 0 и 1 уберите, т.е так
0
|
3 / 3 / 2
Регистрация: 28.09.2015
Сообщений: 339
|
|
27.10.2015, 18:32 [ТС] | 17 |
0
|
27.10.2015, 18:32 | |
27.10.2015, 18:32 | |
Помогаю со студенческими работами здесь
17
Найти среднее арифметическое всех наибольших элементов строк и столбцов матрицы Найти среднее арифметическое всех наибольших элементов строк и столбцов матрицы Найти среднее арифметическое элементов каждой из строк заданной матрицы (почему не работает программа?) Найти количество строк матрицы, среднее арифметическое элементов которых меньше заданной величины Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |