Студопедия

Главная страница Случайная страница

Разделы сайта

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






Решение задач с использованием массивов






ЗАДАЧА 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++)

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.