Робота над масивами з допомогою мови З 2

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Завдання 1. Дан двовимірний масив розмірністю 5x6, заповнений цілими числами, введеними з клавіатури. Сформувати одновимірний масив, кожен елемент якого рівний найбільшому за модулем елементу відповідного стовпця.
Вхідні дані:
matr [5] [6] - двовимірний масив.
Вихідні дані:
mas [6] - одномірний масив.
Текст програми:
# Include <stdio.h>
# Include <conio.h>
# Include <math.h>
# Define N 5
# Define M 6
void main (void)
{
int matr [N] [M];
int mas [M];
int i, j;
do {
clrscr ();
printf ("Введіть двовимірний масив \ n");
for (i = 0; i <N; i + +)
for (j = 0; j <M; j + +)
{
scanf ("% d", & matr [i] [j]);
}
printf ("\ n двовимірний масив: \ n");
for (i = 0; i <N; i + +)
{
for (j = 0; j <M; j + +)
printf ("% 7d", matr [i] [j]);
printf ("\ n");
}
printf ("\ n масив найбільших за модулем елементів: \ n");
for (j = 0; j <M; j + +)
{
mas [j] = matr [0] [j];
for (i = 0; i <N; i + +)
if (abs (matr [i] [j])> abs (mas [j])) mas [j] = matr [i] [j];
printf ("% 7d", mas [j]);
}
printf ("\ n \ n1 - повторити");
} While (getch ()==' 1 ');
}
Блок-схема:



Тестування:
двовимірний масив:
1 -3 5 -7 0 0
0 5 8 -9 3 0
3 4 -8 4 3 0
-4 3 0 7 3 0
0 3 3 7 1 0
масив найбільших за модулем елементів:
-4 5 8 -9 3 0
Завдання 2. Дан двовимірний масив n * m. Визначити, чи є в даному масиві стовпець, в якому рівну кількість позитивних і негативних елементів.
Вхідні дані:
matr [n] [m] - двовимірний масив,
n, m - розмір масиву.
s [60] - рядок.
Текст програми:
# Include <stdio.h>
# Include <conio.h>
# Include <string.h>
void main (void)
{
int i, j;
int n, m;
int matr [10] [10];
int pol, otr;
char s [60];
do {
strcpy (s, 0);
clrscr ();
printf ("Введіть розмір масиву (n * m) \ n");
scanf ("% d% d", & n, & m);
printf ("Введіть масив \ n");
for (i = 0; i <n; i + +)
for (j = 0; j <m; j + +)
scanf ("% d", & matr [i] [j]);
printf ("\ nОпределіть, чи є в даному масиві стовпець, \
в якому \ nравное кількість позитивних і негативних елементів. \ n ");
for (j = 0; j <m; j + +)
{
otr = 0;
pol = 0;
for (i = 0; i <n; i + +)
{
if (matr [i] [j] <0) + + otr;
if (matr [i] [j]> 0) + + pol;
}
if (pol == otr) strcat (s, "є");
else strcat (s, "ні");
}
printf ("\ n");
for (i = 0; i <n; i + +)
{
for (j = 0; j <m; j + +)
printf ("% 6d", matr [i] [j]);
printf ("\ n");
}
printf ("% s", s);
printf ("\ n \ n1 - повторити");
} While (getch ()==' 1 ');
}
Блок-схема:




Тестування:
Визначити, чи є в даному масиві стовпець, в якому
рівну кількість позитивних і негативних елементів.
0 1 -2 3 4
0 2 -4 5 -8
0 0 9 -7 0
0 -3 4 0 0
є немає є немає є
Завдання 3. Дан двовимірний масив розмірністю 8x7.
а). Видалити всі стовпці, а яких перший елемент більше останнього.
б). Замінити всі елементи перших трьох стовпців на їх квадрати.
Вхідні дані:
matr [8] [7] - двовимірний масив.
Функції:
Print - висновок масив на екран.
Текст програми:
# Include <stdio.h>
# Include <conio.h>
# Define N 8
# Define M 7
void Print (int matr [] [M], int m)
{
int i, j;
for (i = 0; i <N; i + +) {
for (j = 0; j <m; j + +)
printf ("% 6d", matr [i] [j]);
printf ("\ n");
}
}
void main (void)
{
int m;
int i, j;
int matr [N] [M];
int r, t;
do {
m = M;
clrscr ();
printf ("Введіть масив \ n");
for (i = 0; i <N; i + +)
for (j = 0; j <m; j + +) {
scanf ("% d", & matr [i] [j]);
}
clrscr ();
printf ("масив \ n");
Print (matr, m);
for (j = 0; j <m; j + +)
{
if (matr [0] [j]> matr [N-1] [j])
{
for (t = 0; t <N; t + +)
for (r = j; r <m-1; r + +)
matr [t] [r] = matr [t] [r +1];
- M;
- J;
}
}
printf ("а). Видалити всі стовпці, а яких перший елемент більше останнього. \ n");
Print (matr, m);
for (j = 0; j <3; j + +)
for (i = 0; i <N; i + +)
{
matr [i] [j] *= matr [i] [j];
}
printf ("б). Замінити всі елементи перших трьох стовпців на їх квадрати. \ n");
Print (matr, m);
printf ("\ n \ n1 - повторити");
} While (getch ()==' 1 ');
}
Блок-схема:


Функція Print



Тестування:
масив
1 2 3 4 5 6 7
-8 0 5 5 4 4 5
4 5 5 5 5 5 5
5 5 5 -7 5 5 5
9 4 4 5 0 5 3
5 6 3 4 5 4 5
6 7 8 9 0 4 8
-4 5 9 0 9 9 0
а). Видалити всі стовпці, в яких перший елемент більше останнього.
2 3 5 6
0 5 4 4
5 5 5 5
5 5 5 5
4 4 0 5
6 3 5 4
7 8 0 4
5 9 9 9
б). Замінити всі елементи перших трьох стовпців на їх квадрати.
4 9 25 6
0 25 16 4
25 25 25 5
25 25 25 5
16 16 0 5
36 9 25 4
49 64 0 4
25 81 81 9
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
10.2кб. | скачати


Схожі роботи:
Робота над масивами з допомогою мови С
Структуровані типи даних Операції над двомірними масивами
Робота над образотворчими засобами мови в аспекті розвитку мовлення учнів п`ятих класів на уроках
Алгоритмічні мови використання процедур при роботі з двовимірними масивами
Робота над аплікатурою
Робота над літературними джерелами
Робота над англійськими текстами Prices and markets Price and value
Робота над удосконаленням орфоепічних навичок молодших школярів
Робота над аналізом епізоду художнього твору на уроках
© Усі права захищені
написати до нас