АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Реализация алгоритмов задач второго типа

Читайте также:
  1. I. ГИМНАСТИКА, ЕЕ ЗАДАЧИ И МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ
  2. I. ЗАДАЧИ ПЕДАГОГИЧЕСКОЙ ПРАКТИКИ
  3. I. Решение логических задач средствами алгебры логики
  4. I. Розв’язати задачі
  5. I. Ситуационные задачи и тестовые задания.
  6. II. Основные задачи и функции
  7. II. Решение логических задач табличным способом
  8. II. ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ ВОИ
  9. II. Цель и задачи государственной политики в области развития инновационной системы
  10. III. Решение логических задач с помощью рассуждений
  11. III. Цели и задачи социально-экономического развития Республики Карелия на среднесрочную перспективу (2012-2017 годы)
  12. IV. Определите, какую задачу взаимодействия с практическим психологом поставил перед собой клиент.

Задача 1. В матрице X ={хij}3х6 вещественных чисел первый элемент каждой строки поменять местами с минимальным элементом этой строки. Вывести матрицу X после обмена. (Для заполнения матрицы воспользуемся датчиком случайных чисел).

 

 

Да
X[i][jmin]=X[i][0] X[i][0]=min
Х[i][j]<min  
i = 0, 3
J = 0, 6
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
min=X[i][j] jmin=j    
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
min=X[i][j] jmin=j    
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
min=X[i][j] jmin=j    
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
X[i][jmin]=X[i][0] X[i][0]=min
min=X[i][j] jmin=j    
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х
Вывод матрицы Х
Конец
X[i][jmin]=X[i][0] X[i][0]=min
min=X[i][j] jmin=j    
Да
Х[i][j]<min  
J = 0, 6
i = 0, 3
min=106
НАЧАЛО
Вывод Матрицы Х
Инициализация матрицы Х

 


Текст программы:

#include "stdafx.h"

#include<math.h>

int main()

{

float X[3][6]; // описание матрицы X

int i,j,jmin;

float min;

 

for(i=0; i<3; i++)

for (j= 0; j<6; j++)

X[i][j]=rand()/100; /* заполнение элемента матрицы случайным числом*/

 

printf(" матрица X\n");

for(i=0; i<3; i++) //вывод матрицы до перестановки

{

for (j=0; j<6; j++) printf("%8.2f",X[i][j]);

printf("\n");

}

 

for(i=0; i<3; i++) //цикл по строкам

{

min=+1E6; // установка начального значения min

for (j=0; j<6; j++) //цикл по столбцам

if (X[i][j]<min) // поиск минимума

{

min=X[i][j];

jmin=j;

}

X[i][jmin]=X[i][0];// перестановка первого элемента

X[i][0]=min; // матрицы с наименьшим

}

for(i=0; i<3; i++) //вывод матрицы после перестановки

{

for (j=0; j<6; j++) printf("%8.2f",X[i][j]);

printf("\n");

}

return 0;

}

Задача 2. Дана матрица вещественных чисел С = {сij}8х4. Вычислить среднее арифметическое каждого столбца. Результат оформить в виде одномерного массива S = {sj};j = .

Данная задача

#include "stdafx.h"

int main()

{ float C[8][4];

float S[4];

int i, j;

printf("Введите матрицу С:\n");

for(i=0; i<8; i++)

for (j= 0; j<4; j++)

scanf("%f",&C[i][j]);

for (j= 0; j<4; j++)

{

S[j]=0; //начальная установка элемента массива для сумм

for(i=0; i<8; i++)

S[j]= S[j] + C[i][j]; //накопление суммы j-го столбца

S[j]=S[j]/8; //вычисление среднего значения суммы j-го столбца

}

for (j= 0; j<4; j++)

printf("%8.2f",S[j]); // вывод всех сумм

printf("\n");

return 0;

}

В приведенной выше программе для вычисления каждого элемента S[j] организован двойной цикл, в котором индекс j является внешним параметром цикла, а индекс i - внутренним.

Приведем вариант программы без использования одномерного массива S.

#include "stdafx.h"

#include <iostream>

using namespace std;

int main()

{ float C[8][4];

float S;

int i, j;

printf("Введите матрицу С:\n");

for(i=0; i<8; i++)

for (j= 0; j<4; j++)

scanf("%f",&C[i][j]);

for (j= 0; j<4; j++)

{

S=0;

for(i=0; i<8; i++)

S= S + C[i][j];

S = S/8;

cout<<"Среднее арифметическое "<<j<<" столбца="<<S<<endln;

}

return 0;

}

 


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 | 46 | 47 | 48 | 49 | 50 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)