Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Решение задач с использованием массивов
ЗАДАЧА 12.Дан массив А состоящий из k целых положительных чисел. Записать все четные по значению элементы массива А в массив В. int main() { int a[20], b[20], k, i, m; printf(" k="); scanf(" %d", & k); for (m=-1, i=0; i< k; i++) { printf(" \n a[%d]=", i); scanf(" %d", & a[i]); if (a[i]%2==0) { m++; b[m]=a[i]; } } if (m=-1) printf(" \n There are not even elements! \n"); else for (i=0; i< =m; i++) printf(" \n b[%d]=%d \t", i, b[i]); } ЗАДАЧА 13. Дан массив Х = (х0, …, хn-1). Переписать 7 первых положительных элементов массива Х подряд в массив Y = (y0, …, y6). #include < iostream.h> int main() { float X[20], Y[20]; int k, i, n; cout< < " n="; cin> > n; for (i=0; i< n; cin> > X[i++]); for (k=-1, i=0; i< n; i++) if (X[i]> 0) { Y[++k]=X[i]; if (k==6) break; } if (k> -1) for (i=0; i< =k; cout< < Y[i++]< < " \t"); else cout< < " ERROR!!! "; } ЗАДАЧА 14. Все наименьшие элементы массива Х(n) заменить средним арифметическим его значений. #include< iostream.h> int main() { float X[20], S, min; int n, i; cout< < " n="; cin> > n; for (i=0; i< n; cin> > X[i++]); for (S=0, min=X[0], i=0; i< n; S+=X[i], i++) if (X[i]< min)min=X[i]; S=S/n; cout< < " min=" < < min< < " \t S=" < < S< < endl; for (i=0; i< n; cout< < X[i++]< < " \t"); cout< < endl; for (i=0; i< n; i++) if (X[i]==min) X[i]=S; for (i=0; i< n; cout< < X[i++]< < " \t"); } ЗАДАЧА 15. Удалить из массива последний нулевой элемент. #include< iostream.h> int main() {float X[20]; int n, i, nom; cout< < " n="; cin> > n; for (i=0; i< n; cin> > X[i++]); for (nom=n, i=n-1; i> =0; i--) if (X[i]==0) {nom=i; break; } cout< < " nom=" < < nom< < endl; for (i=0; i< n; cout< < X[i++]< < " \t"); for (i=nom; i< n-1; X[i]=X[i+1], i++); if (nom! =n) n--; for (i=0; i< n; cout< < X[i++]< < " \t"); } Обработка матриц Рассмотрим основные операции, выполняемые над матрицами. Ввод-вывод матрицы Матрицы, как и массивы, нужно вводить (выводить) поэлементно. Далее приведен текст программы, в которой организован поэлементный ввод матрицы А и вывод ее на экран в виде таблицы. Вариант 1. #include < stdio.h> int main() {int i, j, n, m; float b, a[25][25]; printf(" Введите размеры матрицы\n"); scanf(" %d%d", & n, & m); printf(" Ввод матрицы A\n"); for(i=0; i< n; i++) for(j=0; j< m; scanf(" %g", & a[i][j]); j++) printf(" Матрица A\n"); for(i=0; i< n; printf(" \n"); i++) for(j=0; j< m; printf(" %g\t", a[i][j]); j++) } Вариант 2 #include< iostream.h> void main() {int A[10][10], N, M, i, j; cout < < " \n N="; cin > > N; cout < < " \n M="; cin > > M; for (i=0; i< N; i++) for (j=0; j< M; cout< < " \n A[" < < i< < ", " < < j< < " ]="; cin> > A[i][j]; j++) for (i=0; i< N; cout < < " \n"; i++) for (j=0; j< M; cout < < " \t" < < A[i][j]; j++) }
|