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

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

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: