![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
Привет!подскажите как будет выглядеть код с таким заданием: Реализовать программу "заполнение матрицы" создающую двумерный массив 2х2 чисел с плавающей точкой, запрашивающую у пользователя значение каждого элемента массива в формате "введите элемент 1,1 :" и выводящую заполненный пользователем массив на экран.
Синтаксис объявления двумерного массива: ТипЭлементовМассива ИмяМассива[РАЗМЕРНСОТЬ_1_ИЗМEРЕНИЯ][РАЗМЕРНОСТЬ_2_ИЗМЕРЕНИЯ] ; В качестве РАЗМЕРНСОТЬ_1_ИЗМEРЕНИЯ и РАЗМЕРНСОТЬ_2_ИЗМEРЕНИЯ нельзя использовать переменные - можно использовать только непосредственные значения. Для вывода матрицы на экран воспользуйтесь функцией printf. В строке форматирования для перевода строки указывайте \n, а для выравнивания столбцов воспользуйтесь символом табуляции - \t. Для обхода всех элементов матрицы воспользуйтесь циклом for. Обратите особое внимание на то, что РАЗМЕРНСОТЬ_1_ИЗМEРЕНИЯ и РАЗМЕРНСОТЬ_2_ИЗМEРЕНИЯ при создании массива - это количество элементов, а не максимально допустимый индекс в массиве. Элементы массива всегда нумеруются с 0. Соответственно, если Вы создаете массив из 3 элементов, то вы можете обращаться только к первым 3м элементам, а именоо - с индексом 0, с индексом 1 и с индексом 2. Обращение к элементу с индексом 3 может привести к непредсказуемым результатам. |
|||
|
||||
feodorv |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Так это хорошо!
Одним? Или можно вложенным?
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||||
|
|||||||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
в общем код должен получиться вот такой?
Модератор: не забываем пользоваться кнопочкой "Код" |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Гм. Стоит определиться, что Вам нужно - C или C++... Ибо тогда лучше
Ввод значений и их вывод лучше разделить, даже если это будет второй обход матрицы. А так - пойдёт ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
вот код получился:
массив после ввода элементов отображается вот так(во вложенном фото), правильно? Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 15:57 Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
потом надо будет сделать: Модифицировать программу так, чтобы пользователь выполнял заполнение 2х квадратных матриц. После этого программа должна выполнять сложение введенных пользователем матриц и вывод исходных матриц и результата на экран.
Для обхода всех элементов матрицы в процессе сложения воспользуйтесь циклом do-while. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Неправильно. Это же заметно невооружённым глазом ![]() Ошибка в формате вывода: Для double предусмотрены форматы %e,%f,%g,%E,%F,%G, но никак не %d. Делайте по аналогии ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, вроде код прописал:
Добавлено @ 12:58 feodorv, а как сделать в высланном мной коде чтобы пользователю перед вводом элементов каждой из матриц предлагалось произвести автозаполнение всех элементов матрицы случайными величинами, либо заполнение диагонали матрицы единицами, а остальных элементов - нулями, либо ввод каждого элемента с клавиатуры - по желанию пользователя?[code=cpp] Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 15:45 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Что-то в этом роде ![]()
Можно предложить пользователю список действий под номерами, например, как сделано здесь ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Да, всё время забываю Вас попросить при демонстрации кода пользоваться кнопкой "Код", находящейся над полем ввода сообщения, чтобы код в сообщении культурно выделялся.
И, пожалуйста, поправьте в этом смысле свои прежние сообщения ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
все сделал))спасибо!буду доделывать лабу, там еще 3 задания ![]() Задание 4: Модифицировать программу из предыдущего задания так, чтобы после заполнения 2х матриц пользователя спрашивали, желает ли он выполнить умножение или сложение матриц и выполнялась выбранная пльзователем операция. После этого программа должна осуществлять вывод исходных матриц, наименования операции и результата на экран. Задание 5: Модифицировать программу из предыдущего задания так, чтобы сначала программа узнавала у пользователя размеры используемых квадратных матриц (в пределах от 1 до 20) и все действия производились над матрицами указанных пользователем размеров. Изначально создавайте матрицы 20х20, а в процессе работы используйте только первые iElementNum элементов матрицы, где iElementNum - размер матрицы, укказываемый пользователем. Результат продемонстрировать преподавателю. Задание 6: Модифицировать программу из предыдущего задания так, пользователь имел возможность при задании матриц редактировать любой элемент:пользователю задается вопрос, желает ли он редактировать матрицу. Если желает - пользователь вводит координаты редактируемого элемента и новое значение. Затем процедура повторяется. Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 16:06 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Спасибо! Ну хорошо хоть не "отрицательный факториал" ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, сделал 3 задание, в 4 надо модифицировать программу из предыдущего задания так, чтобы после заполнения 2х матриц пользователя спрашивали, желает ли он выполнить умножение или сложение матриц и выполнялась выбранная пльзователем операция. После этого программа должна осуществлять вывод исходных матриц, наименования операции и результата на экран.Вопрос, куда вставить умножение матриц?
вот код:
Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 19:40 |
|||
|
||||
feodorv |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну, я бы просто завёл переменную, равную 0, если нужна сумма, и не 0, если умножение:
Я вот сейчас задумался - а Вам действительно нужно настоящее перемножение матриц? Из серии:
а не просто перемножение элементов матрицы:
Тогда матрицы обязаны быть квадратными (чтобы их можно было и умножать и складывать)... PS Если отсчёт начинается с 0, то заканчиваться должен на (nl-1), то есть
А то матрица 2x2 превратится в 3x3... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||||
|
|||||||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
сначало было задание 2: Модифицировать программу из предыдущего задания так, чтобы пользователь выполнял заполнение 2х квадратных матриц. После этого программа должна выполнять сложение введенных пользователем матриц и вывод исходных матриц и результата на экран.
потом задание 3: Модифицировать программу из предыдущего задания так, чтобы пользователю перед вводом элементов каждой из матриц предлагалось произвести автозаполнение всех элементов матрицы случайными величинами, либо заполнение диагонали матрицы единицами, а остальных элементов - нулями, либо ввод каждого элемента с клавиатуры - по желанию пользователя. результат 3 задания я синул, вот 4 задание: Модифицировать программу из предыдущего задания так, чтобы после заполнения 2х матриц пользователя спрашивали, желает ли он выполнить умножение или сложение матриц и выполнялась выбранная пльзователем операция. После этого программа должна осуществлять вывод исходных матриц, наименования операции и результата на экран. я что то не так сделал перед тем как 4 задание выполнить? |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну, кроме нет, всё так. Просто в уме уже стоит держать 5-ый пункт... И для квадратных матриц нужна одна единственная размерность, вместо четырёх... Это сообщение отредактировал(а) feodorv - 15.10.2012, 21:03 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
не понял? вот так прально поменял?надо и nl и nc сделать не <=, а просто <?
Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 21:36 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Смотри: Если матрицы квадратные, то нужна одна переменная (назовём её dim):
Везде в форах нужно поменять <= на просто <. Ты так и не сказал, как матрицы перемножать нужно... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
Ты так и не сказал, как матрицы перемножать нужно...
в задании не указано как перемножать нужно, написано просто "модифицировать программу из предыдущего задания так, чтобы после заполнения 2х матриц пользователя спрашивали, желает ли он выполнить умножение или сложение матриц и выполнялась выбранная пльзователем операция. После этого программа должна осуществлять вывод исходных матриц, наименования операции и результата на экран" вот исправил код на одну переменную, так как матрица квадратная:
Это сообщение отредактировал(а) dimmon123 - 15.10.2012, 22:13 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну тогда стОит разбить программу на такие блоки:
Значит, обычным для матриц способом - строка одной на столбец другой))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Так ведь уже писал:
Ты бы их проверял, запуская программы и сравнивая результаты выполнения с тем, что должно было получиться. А то я только код оценить могу. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, вставил в код и умножение и сложение,проверь пожалуйтса))
Это сообщение отредактировал(а) dimmon123 - 16.10.2012, 12:52 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Смотри, смысла держать два массива для одного результата нет. Достаточно иметь один массив - res:
Код условный, но смысл понятный. Потом, ты вставил умножение матриц только в заполнение_матрицы_1, а остальные два варианта остались не у дел. Поэтому нужно сначала заполнять матрицы, потом спрашивать, что с ними делать, потом с ними делать то, что запрошено. То есть заполнение - отдельно, операция - отдельно. Порядок действий уже описан: Приблизительно это будет выглядеть так:
Как-то так ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, я почти позже похожее сделал, ток немного не до конца, но суть понял))вот только у тебя элементы матрицы в строчку пишутся а не в столбик)я в столбик изменил, вот:
спасибо за советы!!!))осталось теперь выполнить последнее задание: Модифицировать программу из предыдущего задания так, пользователь имел возможность при задании матриц редактировать любой элемент:пользователю задается вопрос, желает ли он редактировать матрицу. Если желает - пользователь вводит координаты редактируемого элемента и новое значение. Затем процедура повторяется. Это сообщение отредактировал(а) dimmon123 - 17.10.2012, 10:50 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
За что убита эта строчка? У нас res объявлена глобально, поэтому эта матрица инициализируется нулями. А если бы мы написали так:
то в res был бы мусор. Никто не гарантирует, что Вас не попросят все объявления переменных перенести внутрь main, а если попросят, то будет сюрприз. Прошу вернуть строчку на место))) Ну что? Переставляем блоки?
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, после вопроса о редактировании матрицы что то код не срабатывает, посмотри что не так)
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
А что это за новая сущность? Каким боком она нам нужна? Если вопрос во флоатах, то можно просто поменять типы у матриц mt1, mt2 и res, а также заменить %d на %f. Но про float A[20][20] я ничего не знаю... просто замени на
PS Но смотри, у тебя матрицы заточены под int, а ты float теперь захотел))) Это сообщение отредактировал(а) feodorv - 20.10.2012, 18:21 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
вот измненил, но код на изменение элементов матрцы не хочет срабатывать(( посмотри пожалуйста что не так я сдела...
Это сообщение отредактировал(а) dimmon123 - 21.10.2012, 14:32 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Так эта... Сначала узнаём что на что меняем, и уж потом меняем, а не сначала меняем, потом узнаём ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
чет не понял где поменять надо, менял в разных местах бесполезно((
Это сообщение отредактировал(а) dimmon123 - 21.10.2012, 18:44 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну, я думаю, нужно менять со смыслом, а не в хаотическом порядке))) Что делает строка Почему она самая последняя? Это вместо printf? printf - печатает, scanf считывает ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, а как тогда надо написать?не догоняю я блин...это последнее задание осталось, а азавтра уже сдавать надо..
Это сообщение отредактировал(а) dimmon123 - 21.10.2012, 19:31 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
А я было подумал, что ты понимаешь, что делаешь ![]() Ну, наверное, первые две строчки поставить последними:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
что то понимаю что то нет, вот и возникают вопросов куча)) сделал как ты сказал, перенес в конеч и все равно не выходит( Добавлено через 14 минут и 14 секунд вот сделал так:
эффекта ноль, как было так и осталось Это сообщение отредактировал(а) dimmon123 - 21.10.2012, 20:16 |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, а дургие варианты могут быть?
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
В смысле? Давайте переставлять строчки, авось получится???))) Вот откуда взялся спецификатор %j??? Должен быть просто %i. Это сообщение отредактировал(а) feodorv - 21.10.2012, 22:28 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
По хорошему, должно стоять %d (d - от decimal), %i - это устаревший спецификатор (от integer). Лучше всего, всё-таки, изучить семейство функций printf и правила оформления форматной строки, загляните хотя бы сюда. Это сообщение отредактировал(а) feodorv - 21.10.2012, 22:35 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, у нас же везде было i и j. мы их в самом начаде вводили
Это сообщение отредактировал(а) dimmon123 - 21.10.2012, 22:49 |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, а сам вопрос о координатах редактируемого элемента прально записан?
если да, то с клавы в ответ надо вводить значение например "[0,1]"? |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Нет, а так как запрограммировано: то есть так:
Добавлено через 2 минуты и 6 секунд Почему %j остался??? Добавлено через 5 минут и 12 секунд
А причём здесь %i, %j и i,j? Как они друг с другом связаны? Потому что где-то есть &i, &j, и захотелось аналогично сделать? Это сообщение отредактировал(а) feodorv - 21.10.2012, 23:42 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, с помощью твоих подсказок и немного домыслив, получилось все!!!вот исправил ту часть кода, теперь все работает))
Это сообщение отредактировал(а) dimmon123 - 22.10.2012, 14:13 |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv,препод зверствует. как сделать ограничение на вод только цифр в Case3?
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Не понял, в каком месте? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, у нас во всем коде где есть запросы мы вводим цыфры, если вместо них ввести буквы то программа глючит, поэтому надо везде где можно поставить ограничение на ввод букв...
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
ок. Подпрограммы разрешены?
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Тупое решение:
Только для ввода положительных значений!!! И вместо scanf пользуем getNumber:
Остальное - аналогично... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, не проглатывает код то что ты написал,ошибки выдает..
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Какие именно ошибки? У меня всё проглотилось... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv,
эту часть в какое место вставляем? у меня код начинается вот так:
Это сообщение отредактировал(а) dimmon123 - 22.10.2012, 22:21 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, в этом коде выдает вот эту ошику: ptr: неиспользованная локальная переменная
Добавлено @ 22:39 feodorv, сдела))у тебя ошибка была в коде))
второй лайн стоит у тебя 1 а не i)заменил и все заработало и на введение букв выдает ошибку, вот только если потом ввести цыфру ничего дальше не происходит, код дальше не считывается почему то Это сообщение отредактировал(а) dimmon123 - 22.10.2012, 22:41 |
||||
|
|||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Это не ошибка. ptr можно убрать ![]() А это ошибка)))
В смысле? Если в строке встретился неправильный символ, ввод значения придётся повторить ;) Строка вводится завершающим ENTER))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, раньше было "Please, enter matrix dimension:" с ордним двоеточием, а щас после этой фразы почему то 2 двоеточия и с первого раза Enter не срабатывает
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Где-то одну ':' надо убирать. Я в примере убрал с "Please..." Это как? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
ну например вводим мы не буквы а число 2, появляется снова плавающая _ и приходится еще раз 2 ввести, тогда выскакивает следующее действие и почему то в коде где автозаполнение все время заполняются одни и теже цыфры Это сообщение отредактировал(а) dimmon123 - 22.10.2012, 23:30 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну я же сказал - вместо scanf, а не вместе с ней. Это теперь лишнее... Твой препод - маньяк. Вот тебе ещё один вариант с редактированием (возможен BACKSPACE):
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
ansar0 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.10.2012 Репутация: нет Всего: нет |
Сообщение от PodOnoK
прямоугольный массив Код C# 1 2 3 4 5 int[,] a; //или так int[,] b = new int[2, 3]; //или так int[,] c = {{1, 2, 3}, {4, 5, 6}}; Сообщение от PodOnoK ступенчатый массив Код C# 1 2 3 4 5 6 int[][] a = new int[3][]; a[0] = new int[5]; a[1] = new int[3]; a[2] = new int[4]; //или так int[][] b = {new int[5], new int[3], new int[4]}; |
|||
|
||||
dimmon123 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.10.2012 Репутация: нет Всего: нет |
feodorv, ставлю dim = getNumberEx в местах где нужен ток ввод цифр и ерунда получается..либо прога сама у меня глючит..в общем проверь пожалуйста этот код полностью))
Это сообщение отредактировал(а) dimmon123 - 26.10.2012, 21:36 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
"dim = getNumberEx" - это не волшебная палочка. Нужно всё таки понимать, что делает getNumberEx, что означает dim... getNumberEx всего лишь возвращает введённое с клавиатуры число (одно-единственное число). Зачем это число грузить исключительно в dim? И ничего, если dim, которую мы так бережно запрашивали у пользователя в начале и под которую готовили матрицы, вдруг меняется где-то в середине цикла? Почему scanf до сих пор в коде? Почему scanf используется вместе с getNumberEx?
Вот скажи, что ты ожидаешь от этого кода? Что сделает scanf со значением переменной dim, полученным от getNumberEx? Третий раз пишу: И вообще, что делает scanf? Для чего она предназначена? Ты в курсе, что форматная строка вида " Element %d, %d: " используется в printf и printf-подобных функциях, которые разбирают форматную строку и понимают, что %d соответствует печати целого числа, которое передаётся этой функции в качестве аргумента? У нас getNumberEx - printf-подобная функция? Она умеет разбирать форматную строку? Совсем нет. Я в печали. Я не знаю что делать. Писать длинные инструкции типа "прямо 100 метров, потом направо 200 метров, потом 2 шага назад" я не в состоянии. Делать за тебя лабу - не вариант, лаба - твоя, не моя. Я призываю тебя собраться с мыслями, разобрать работу программы, применить отладчик для лучшего понимания того, что и как происходит в программе и т.д. Для примера приведу исправленный вариант кода: Остальное можно сделать по аналогии, если понимать, что делаешь...
И никаких scanf, %d в getNumberEx, ... Это сообщение отредактировал(а) feodorv - 26.10.2012, 22:46 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |