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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2010, 07:02   #1
GreX454
Новичок
Джуниор
 
Регистрация: 30.03.2010
Сообщений: 2
Радость Прямоугольная матрица (Имеется: Код программы,условие и т.д.)

Условие задачи:
В прямоугольной матрице поменять местами последний столбец и столбец, содержащий максимальный элемент. Найти количество строк, среднее арифметическое элементов которых меньше заданной величины.

Проблема:
Столбцы не меняют места между собой.

Просьба:
Уважаемые пользователи, помогите, пожалуйста, с данной задачей.
Зарание спасибо.

Код задачи:
Код:
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{int A[100][100],n,m,i,j,st,max,R,*S,kol,k;
clrscr(); randomize();
printf("Введите n="); scanf("%d",&n);
printf("\nВведите m="); scanf("%d",&m);
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
A[i][j]=random(20)-10;}

{max=A[0][0];
 st=0;}

for(i=0;i<n;i++)
for(j=0;j<m;j++)
 if(A[i][j]>max)
 {max=A[i][j];
 st=j;}

for(i=0;i<n;i++)
 {R=A[i][st];
 A[i][st]=A[i][m-1];
 A[i][m-1]=R;}

for(i=0;i<n;i++)
{printf("\n");
for(j=0;j<m;j++)
 printf("%2d",A[i][j]);}

 printf("\n");
for(i=0;i<n;i++)
{ S[i]=0;
for(j=0;j<m;j++)
 S[i]=S[i]+A[i][j];}
 S[i]=S[i]/n-1;

printf("\nВведите K="); scanf("%d",&k);
 kol=0;
for(i=0;i<n;i++)
 if(S[i]<k)
 kol++;
 printf("\nВывод=%d",kol);
getch();
}
Вывод задачи:
Код:
Введите n=2

Введите m=3

 0-2 2
 0-3-5

Введите К=2

Вывод=2
C Уважением GreX454
GreX454 вне форума Ответить с цитированием
Старый 30.03.2010, 07:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Не нравится мне твой код...
Вот предлагаю свой:
Код:
// Поменять местами столбцы матрицы.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>


int _tmain(int argc, _TCHAR* argv[])
{
	int A[100][100],n=4,m=3,i,j,st,max=-99999,k=0;
	system("cls");
// Вводим матрицу и ищем максимум
for(i=0;i<n;i++){
	for(j=0;j<m;j++) {
		A[i][j]=rand();
		if (A[i][j]<max) {max=A[i][j];k=i;}
		printf("%5d \t",A[i][j]);
	} printf("\n");
}

printf("\n Max in %5d \n",k);
// Меняем столбцы
for(i=0;i<n;i++){
		j=A[i][0];
		A[i][0]=A[i][k];
		A[i][k]=j;
}
// Выводим на экран изменения
printf("\n");
for(i=0;i<n;i++){
	for(j=0;j<m;j++) {
		printf("%5d \t",A[i][j]);
	} printf("\n");
}
getch();
	return 0;
}
Вот результат
Цитата:
41 18467 6334
26500 19169 15724
11478 29358 26962
24464 5705 28145

Max in 1

18467 41 6334
19169 26500 15724
29358 11478 26962
5705 24464 28145
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дана целочисленная прямоугольная матрица Jet-Tea Общие вопросы C/C++ 9 02.06.2010 16:41
Прямоугольная матрица. Не могу найти ошибку amerhant Общие вопросы C/C++ 18 20.01.2010 00:22
Дана целочисленная прямоугольная матрица... gregorio Помощь студентам 1 22.04.2009 20:27
Дана прямоугольная матрица. Определить количество столбцов, произведение элементов которых меньше 5 Sweeney Паскаль, Turbo Pascal, PascalABC.NET 0 10.12.2008 01:41