Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2011, 22:00   #1
kypykyky
Новичок
Джуниор
 
Регистрация: 24.12.2011
Сообщений: 1
По умолчанию задача с матрицей

Задача:даны марица А[0..n-1][0..m-1] и массив B[0..k-1]. Надо написать программу,которая вычисляет массив С, состаящий из элементов А, расположенных между первым и последним положительным элементами каждого столбца, если сумма элементов, расопложенных между первым и последним положительными элементами отсутствуует в массиве В.Ввод данных,вывод результата и вычислений оформить в виде отдельных функций.
Вот мой вариант:
Код:
#include<stdio.h>
#include<conio.h>
void Vvod_matrix(int a[0..n-1][0..m-1],int *n,int *m)
{
int i,j,a[i][j];
printf("ââåäèòå êîë âî ñòðîê ìàòð");
scanf("%d",n);
printf("ââåäèòå êîë âî ñòîëáöîâ ìàòð");
scanf("%d",m);
printf("ââåäèòå ìàòð À");
for(i=0;i<*n-1;i++)
for(j=0;j<*m-1;j++)
scanf("%d",&a[i][j]);
}
void Vivod_matrix(int a[0..n-1][0..m-1],int n,int m)
{
int i,j,a[i][j];
printf("ââåäåíà ìàòðèöà");
for(i=0;i<n-1;i++)
  {
  for(j=0;j<m-1;j++)
  printf("%4d",a[i][j]);
  printf("\n");
  }
}
void Vvod_massiv(int a[0..m-1],int *ma)
{
int j,a[j];
printf("ââåäèòå äëèíó ìàññèâà Â");
scanf("%d",ma);
printf("ââåäèòå ýëåìåíòû ìàññèâà Â");
for(j=0;j<*ma;j++)
scanf("%d",&a[j]);
}
void Form_C(int a[0..n-1][0..m-1],int n,int m,int b[0..k-1],int k,int c[],int *nc)
{
int sum,i,j,z,min,max,minj,maxj,temp1,temp2,a[i][j],b[z];
*nc=0;
for(i=0;i<n-1;i++)
   {
   min=a[i][1];
   minj=1;
   max=a[i][1];
   maxj=1;
   for(j=0;j<m-1;j++)
	{
		if(a[i][j]<min)
		{
		minj=j;
		min=a[i][j];
		}
		if(a[i][j]>max)
		{
		maxj=j;
		max=a[i][j];
		}
	}
		if(maxj-minj>1)
		{
		temp1=minj+1;
		temp2=maxj;
		}
		else
		{
		temp1=maxj+1;
		temp2=minj;
		}
		for(z=temp1,sum=0;z<temp2;z++)
		sum+=a[i][z];
		for(z=0;z<k&&b[z]!=sum;z++);
		if (z==k)
		  {
			for(z=temp1;z<temp2;z++)
			{
			c[*nc]=a[i][z];
			*nc=*nc+1;
			}
		  }
   }
}
void Vivod_C(int a[j],int m)
{
int j;
printf("ìàññèâ Ñ");
for(j=0;j<m-1;j++)
printf("%7d",a[j]);
}
void main()
{
int a[0..n-1][0..m-1],n,m,i,j,b[0..k-1],k,c[],nc;
clrscr();
printf("ëàëàëà");
Vvod_matrix(a,&n,&m);
Vivod_matrix(a,n,m);
Vvod_massiv(b,&k);
Form_C(a,n,m,b,k,c,&nc);
if(nc==0)
printf("íåò ìàññèâà Ñ");
else
Vivod_C(c,nc);
getch();
}
kypykyky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с матрицей amsterdam Паскаль, Turbo Pascal, PascalABC.NET 5 09.06.2011 09:49
Задача с матрицей fightclub Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 15.01.2010 10:31
Задача с матрицей bonys91 Помощь студентам 1 02.04.2009 20:02
Задача с матрицей Kawun Помощь студентам 9 26.03.2009 00:29
Задача с матрицей H[o][o]K Помощь студентам 1 15.12.2007 16:51