Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Обработка двумерных массивов
Цель работы – овладение практическими навыками работы с многомерными массивами, особенностями их ввода и вывода, овладение навыками алгоритмизации и программирования вычислительных структур с вложенными циклами. Задания для самостоятельной подготовки: 1. Изучить: · правила организации вложенного цикла с учетом порядка перебора элементов двумерного массива; · правила использования приемов программирования в структурах с вложенными циклами; · способы ввода и вывода двумерных массивов. 2. Разработать алгоритм решения в соответствии с заданием. 3. Составить программу решения задачи. 4. Подготовить тестовый вариант исходных данных для проверки работы программы.
Задание к работе:
Таблица 5
Продолжение таблицы 5
Пример выполнения работы В массиве L(N,M) N<=3, M<=4 найти столбец с наименьшей суммой элементов. На экран вывести номер столбца имеющего наименьшую сумму элементов, элементы этого столбца и сумму его элементов. Необходимо организовать вложенный цикл для перебора элементов массива по столбцам. Перед внешним циклом задать начальное значение номера столбца имеющего наименьшую сумму элементов (0) и начальное значение наименьшей суммы как сумму элементов первого столбца. Перед внутренним циклом задавать начальное значение суммы элементов текущего столбца (0). Во внутреннем цикле накапливать сумму элементов текущего столбца. После ее вычисления организовать сравнение суммы элементов текущего столбца с наименьшей суммой. В случае если сумма элементов текущего столбца меньше наименьшей суммы считать наименьшей суммой сумму элементов текущего столбца.
Программа решения задачи имеет вид:
#include <stdlib.h> //подключение файла #include <stdio.h> //подключение файла
void main () //заголовок функции main { float L[3][4], smin,s; int i,j,N,M,nmin; // объявление переменных do {printf (“Введите размерность массива N в диапазоне от 1 до3, M - от 1 до4 \n”); // вывод на экран сообщения scanf (“%d%d”, &N,&M); // ввод значения переменной }while(N<1||N>3||M<1||M>4); //пока введенные значения не лежат в заданном диапазоне randomize(); // инициализация датчика случайных чисел printf (“Массива L\n”); // вывод на экран сообщения for(i=0;i<N;i++) // цикл по перебору элементов массива по строкам { for(j=0;j<M;j++) {L[i][j]=(random(100)-50)/10.; //генерация случайного числа и присвоение его элементу массива printf (“%f”, L[i][j]); // вывод значения элемента массива } printf (“\n”); //переход на новую строку } nmin=0; smin=0; // присвоение начального значения for(i=0;i<N;i++) smin+=L[i][0]; //накопление суммы элементов первого столбца for(j=0;j<M;j++) // цикл по перебору элементов массива по столбцам { s=0; // присвоение начального значения for(i=1;i<N;i++) s+=L[i][j]; //накопление суммы элементов текущего столбца if (s<smin) //если меньше значения наименьшей суммы { smin=s; //то наименьшей сумме присваивается значение суммы элементов текущего столбца nmin=j; // индексу столбца, имеющего наименьшую сумму присваивается //индекс текущего столбца } } printf (“Номер столбца, имеющего наименьшую сумму элементов=%2d\n”,nmin);
printf (“Элементы столбца, имеющего наименьшую сумму элементов\n”); for(i=0;i<N;i++) printf (“%f”, L[i][0]); printf (“\nсумма элементов=%f\n”,smin); //вывод значений переменных return; //завершение функции main }
Контрольные вопросы
Лабораторная работа №7
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-19; просмотров: 353; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.131.238 (0.007 с.) |