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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 00:40   #1
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию Задача C++

Заменить в матрице элементы предпоследней строки на количество положительных элементов соответствующих столбцов.
Помогите исправить что не так, для того что программа выполнялась по заданию.

Программа:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include<conio.h>

main()
{
int i, j, m, n,k,tmp;
float B[10][10];
printf("Vvedite 4uclo ctPok\n");
scanf("%d", &m);
printf("Vvedite 4uclo cToL6coB\n");
scanf("%d", &n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("Vvedite B[%d][%d]=",i,j);
scanf("%f",&B[i][j]);
}
puts("Matrica B:");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%8.2f",B[i][j]);
printf("\n");
}
k=0;

for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(B[i][j]>0) k=k+1;
printf("Kolichestvo polozhitel'nix elementov - %d\n",k);
{tmp=k; k=B[n-2][j];B[n-2][j]=tmp;}

fflush(stdin);
getchar();
return(0);
}
Pycbka вне форума Ответить с цитированием
Старый 04.12.2011, 01:17   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
for(i=0;i<10;i++){
     int k=0;
     for(j=0;j<10;j++)
          if(B[i][j]>0) ++k;
     B[8][i]=k;
}
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 04.12.2011, 16:12   #3
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

А в какую часть программы ваш код мне вставлять?
Pycbka вне форума Ответить с цитированием
Старый 04.12.2011, 16:23   #4
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

В том месте, где вы считаете количество положительных элементов и меняете предпоследний элемент столбца.

Код:
for(i=0;i<n;i++){
     int k=0;
     for(j=0;j<m;j++)
          if(B[j][i]>0) ++k;
     B[m-2][i]=k;
}
Не обратил внимания на то, что матрица не обязательно 10 на 10.
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 04.12.2011, 16:29   #5
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Ну вот я делаю так:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include<conio.h>

main()
{
int i, j, m, n,k,kol;
float B[10][10];
printf("Vvedite 4uclo ctPok\n");
scanf("%d", &m);
printf("Vvedite 4uclo cToL6coB\n");
scanf("%d", &n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("Vvedite B[%d][%d]=",i,j);
scanf("%f",&B[i][j]);
}
puts("Matrica B:");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%8.2f",B[i][j]);
printf("\n");
}
for(i=0;i<n;i++){
int k=0;
for(j=0;j<m;j++)
if(B[j][i]>0) ++k;
B[m-2][i]=k;
}
fflush(stdin);
getchar();
return(0);
}



И всё что кроме матрицы выводить моей, не замены ничего, оно не делает. + заменить надо элементы предпоследней строки.
Pycbka вне форума Ответить с цитированием
Старый 04.12.2011, 16:57   #6
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
int main()
{

	const int n=4;
	const int m=4;
	float B[m][n]={{1,2,3,4},{1,2,3,4},{1,-24,5,2},{1,-124,4,2}};

	puts("Matrica B:");
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
			printf("%8.2f",B[i][j]);
	printf("\n");
	}
	for(int i=0;i<n;i++){
		int k=0;
			for(int j=0;j<m;j++)
				if(B[j][i]>0) ++k;
					B[m-2][i]=(float)k;
	}
	puts("Matrica new B:");
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
			printf("%8.2f",B[i][j]);
	printf("\n");
	}
	fflush(stdin);
	getchar();
	return(0);
}
Все работает, нужные элементы изменяет. Изменил только, что бы не вводить вручную и сделал вывод еще один.

Код:
Matrica B:
    1.00    2.00    3.00    4.00
    1.00    2.00    3.00    4.00
    1.00  -24.00    5.00    2.00
    1.00 -124.00    4.00    2.00


Matrica new B:
    1.00    2.00    3.00    4.00
    1.00    2.00    3.00    4.00
    4.00    2.00    4.00    4.00  - строка состоящая из числа количества положительных элементов в соответствующих столбцах изначальной матрицы.
    1.00 -124.00    4.00    2.00
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 04.12.2011, 17:05   #7
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Спасибо тебе большое, за помощь!
Pycbka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51