Преобразование матрицы в одномерный массив
Переслать элементы матрицы размером M на N в одномерный массив того же размера по строкам с сохранением порядка следования элементов.
#include<stdio.h>
const int m=4, n=3;
void main()
{ int i, j, a [m][n], b[m*n], count=0;
… // здесь нужно ввести матрицу a
for ( i=0; i<m; ++)
for ( j=0; j<n; j++)
{ b[count]=a[i][j]; count++; } // или b[count++]=a[i][j];
puts( “Result : “);
for ( i=0; i<count; i++)
printf ( “%d\t”, b[i]);
}
Формирование одномерного массива из матрицы по заданному условию
1. Сформировать одномерный массив из сумм элементов столбцов матрицы размером M на N.
Очевидно, что в одномерном массиве будет столько элементов, сколько столбцов в матрице, т.е. N.
#include<stdio.h>
const int m=4, n=3;
void main()
{ int i, j, a [m][n], b[n], s=0 ;
… // здесь нужно ввести матрицу a
for ( j=0; j<n; j++) // внешний цикл по столбцам
{ s=0; // обнуление суммы для каждого нового столбца
for ( i=0; i<m; ++) // внутренний цикл по строкам
s=s+ a[i][j];
b[j]=s;}
puts( “Result : “);
for ( i=0; i<n; i++)
printf ( “%d\t”, b[i]);
}
2. Сформировать одномерный массив из индексов тех строк квадратной матрицы размером M на M, в которых есть хотя бы одно четное значение..
Очевидно, что максимальная размерность одномерного массива равна количеству строк матрицы, но по факту в нем может находиться меньше элементов или ни одного (см. формирование одномерного массива из другого одномерного массива).
#include<stdio.h>
const int m=4;
void main()
{ int i, j, a [m][m], b[m], count=0 ;
… // здесь нужно ввести матрицу a
for ( i=0; i<m; ++)
for ( j=0; j<m; j++)
if (a[i][j] % 2 = = 0)
{ b[count]=i;
count++;
break; } // досрочный выход из внутреннего цикла во
// внешний, т.е. на изменение номера строки
puts( “Result : “);
for ( i=0; i< count ; i++)
printf ( “%d\t”, b[i]); }
Порядок выполнения работы
1. Изучить теоретические сведения.
2. Выполнить задание.
Задания для выполнения
Часть I
1. Ввести одномерный массив целых чисел размерностью N. Сформировать новый массив из элементов исходного массива, кратных 1-му элементу массива.
2. Ввести одномерный массив вещественных чисел. Определить, встречаются ли среди них элементы с нулевым значением. Если встречаются, то занести их индексы в новый массив.
3. Ввести одномерный массив целых чисел. Создать одномерный массив из сумм всех неотрицательных элементов с четными индексами.
4. Ввести одномерный массив целых чисел. Создать одномерный массив из произведений всех ненулевых элементов с нечетными индексами.
5. Ввести одномерный массив из целых чисел. Создать одномерный массив из тех значений, которые являются полными квадратами (например, 4, 9, 16).
6. Ввести одномерный массив из целых чисел. Составить другой массив из тех элементов исходного массива, которые являются простыми числами.
7 . Ввести одномерный массив вещественных чисел. Сформировать новый массив из элементов исходного массива, у которых дробная часть больше чем 0.65.
8. Ввести одномерный массив целых чисел размерностью N. Сформировать новый массив из элементов исходного массива, кратных минимальному элементу массива.
9. Ввести одномерный массив из целых N четырехзначных чисел. Сформировать новый массив из элементов исходного массива, у которых сумма двух первых цифр равна сумме двух последних цифр.
10. Ввести одномерный массив из целых чисел. Составить другой массив из индексов тех элементов исходного массива, которые являются простыми числами.
11. Ввести одномерный массив вещественных чисел. Сформировать новый массив из элементов исходного массива, целая часть которых заканчивается заданной цифрой.
12. Ввести одномерный массив вещественных чисел. Сформировать новый массив из элементов исходного массива, которые по модулю больше его максимального элемента.
13. Ввести одномерный массив из N трехзначных целых чисел. Сформировать новый массив из элементов исходного массива, сумма цифр которых кратна индексу этого элемента.
14. Ввести одномерный массив целых чисел. Сформировать новый массив из элементов исходного массива, кратных заданному числу M и заключенных в промежутке от K до L.
15. Ввести одномерный массив из целых чисел. Создать новый массив, выбросив из исходного числа, кратные 3.
Часть II
1. Ввести двумерный массив целых чисел, содержащий m´m элементов. Создать одномерный массив из произведений элементов тех строк матрицы, в которых на главной диагонали расположено четное значение.
2. Ввести двумерный массив целых чисел, содержащий m´n элементов. Создать одномерный массив из средних арифметических значений элементов, расположенных в четных столбцах данного массива.
3. Ввести двумерный массив вещественных чисел размерностью m´n. Создать одномерный массив из количеств отрицательных значений каждого столбца матрицы.
4. Ввести двумерный массив вещественных чисел размерностью m´n. Создать одномерный массив из минимальных значений строк матрицы.
5. Ввести двумерный массив вещественных чисел размерностью m´n. Создать одномерный массив из средних арифметических значений каждой строки матрицы.
6. Ввести вещественную матрицу размеромm*n. Сформировать одномерный массив из индексов тех столбцов, в которых есть хотя бы одно целое значение. Вывести полученный массив или сообщение об отсутствии в матрице целых значений.
7. Ввести вещественную квадратную матрицу порядка n. Сформировать одномерный массив из произведений элементов тех столбцов, в которых на главной диагонали расположен элемент, имеющий четную целую часть. Вывести полученный массив или сообщение об отсутствии искомых значений на главной диагонали.
8. Ввести квадратную матрицу порядка n. Вычислить сумму положительных элементов, расположенных на главной диагонали. Сформировать одномерный массив из элементов исходной матрицы, расположенных выше побочной диагонали и по модулю больших этой суммы.
9. Ввести вещественную матрицу размером m*n. Сформировать одномерный массив из индексов тех столбцов матрицы, в которых все элементы отрицательны. Вывести полученный массив или сообщение об отсутствии искомых значений.
10. Ввести одномерный массив x из N элементов. Сформировать квадратную матрицу порядка N:
11. Ввести одномерный массив x из N элементов. Сформировать квадратную матрицу порядка N:
12. Ввести вещественную матрицу размером m*n. Сформировать одномерный массив из индексов тех строк матрицы, в которых все элементы имеют дробную часть больше 0.3. Вывести полученный массив или сообщение об отсутствии искомых значений.
13. Ввести квадратную матрицу порядка n.Вычислить минимальный элемент главной диагонали. Сформировать одномерный массив из элементов матрицы, кратных этому значению. Вывести полученный массив или сообщение об отсутствии кратных элементов.
14. Ввести вещественную матрицу размеромn*m. Сформировать одномерный массив, элементами которого являются количества положительных элементов строк матрицы до первого отрицательного. Если в строке отрицательных элементов нет, то значение в массив не заносить. Вывести полученный массив или сообщение об отсутствии искомых значений.
15. Ввести матрицу размером n*m. Сформировать одномерный массив из произведений тех элементов столбцов матрицы, значения которых кратны сумме своих индексов. Вывести полученный массив или сообщение об отсутствии искомых элементов.
ЛАБОРАТОРНАЯ РАБОТА № 18
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|