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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2010, 20:10   #1
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию массивы

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


если ктонить может помоч....помогите пожалуйста
Veronik@ вне форума Ответить с цитированием
Старый 26.10.2010, 20:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

чем помочь?
p51x вне форума Ответить с цитированием
Старый 26.10.2010, 21:05   #3
devnir
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 26
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define XXX 25
#define YYY 25

int main(){
 short mass[XXX][YYY];
 int hark[XXX];
 for(int i = 0; i<XXX; i++)
 {
  for(int j = 0; j<YYY; j++)
  {
   mass[i][j] = 10 - (rand() % 20 + 1); //заполняем (от -10 до +10)
   if(mass[i][j]<0) //отрицательный элемент
   hark[i]+=abs(mass[i][j]);		
  }//for j
 }//for i
 //Заполнили масив.
int m = XXX-1;
 while(m!=1)
 {
  if(hark[m] < hark[m-1])//есл предидущ меньше
  {
    int a = hark[m];
    hark[m] = hark[m-1];
    hark[m-1] =a;
   for(int i = 0; i< YYY; i++)
   {
    a = mass[m][i];
    mass[m][i] = mass[m-1][i];
    mass[m][i-1] = a;	
   }
  }
 m--;
 }
}
хз. наверно что-то вроде этого а вообще можно самому немного подумать.
Пы.Сы. тут не все. и довольно некрасиво на "3" сойдет на "4" и "5" советую учить С++.
Пы.Пы.Сы. Не компилил даже - компилятора рядом нету.

Последний раз редактировалось devnir; 26.10.2010 в 21:09.
devnir вне форума Ответить с цитированием
Старый 26.10.2010, 21:24   #4
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

спасибо канечно..но это слишком сложно для меня....

лучше я сама напишу...я то что получилось выложу...надеюсь ктонить проверит...

проблема в том что я не понимаю условие...

Последний раз редактировалось Stilet; 27.10.2010 в 09:09.
Veronik@ вне форума Ответить с цитированием
Старый 26.10.2010, 21:44   #5
devnir
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 26
По умолчанию

а что там не понимать?
есть масив, допустим такой:
0 -1 -3
0 0 0
-2 0 1
сумма характеристика 1го столбца: 2 второго 1, третьего сами щитаем.
ну и в итоге вам необходимо танцуя с бубном и крича "кручу - верчу - запутать хочу" переставить их в порядке возростания.
в итоге должны получить что-то вроде:
-1 0 -3
0 0 0
0 -2 1
ну а с этим:"Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент." думаю вообще все понятно.
devnir вне форума Ответить с цитированием
Старый 26.10.2010, 21:50   #6
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

ага...
спасибо)))))))

D:\Âåðîíèêà\veronika\veronika.cpp(1 9) : error C2065: 'j' : undeclared identifier


что значит эта ошибка?

Последний раз редактировалось Stilet; 27.10.2010 в 09:10.
Veronik@ вне форума Ответить с цитированием
Старый 26.10.2010, 22:02   #7
devnir
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 26
По умолчанию

переменная "j" не обьявлена
devnir вне форума Ответить с цитированием
Старый 26.10.2010, 22:35   #8
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

понятно...

Код:
#include "stdafx.h"
#include "stdio.h"
#include "iostream.h"
#include "math.h"

int main(int argc, char* argv[])
{
	int Matr[3][3];
	int s,i,n,j;
	printf ("elements Matrici\n");
	for ( i=0;i<2;i++){
		for ( j=0;j<2;j++){
			cin>>Matr[i][j];
		}
	}
	{
	float k;
	k=Matr[j];
	Matr[j]=Matr[j+1];
	Matr[j+1]=k;
	}
	cout <<"Massiv Matr\n";
	for (j=0;j<2;j++)
		cout<<"Matr("<<j<<")="<<Matr[j]<<"\t";
	cout<<endl;
		

		
	
	return 0;
}

Вот всё что ясмогла сделать...но с перестановками строк там лажа((((((

fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.


а это что значит...ответьте пожалуйста..

сё не нада знаю что за ошибка))))))

Последний раз редактировалось Stilet; 27.10.2010 в 12:38.
Veronik@ вне форума Ответить с цитированием
Старый 27.10.2010, 00:46   #9
devnir
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 26
По умолчанию

Хм:
1.
int Matr[3][3];
for ( i=0;i<2;i++){думаю лучше таки заполнить полностью всю матрицу.....

следует делать так:
for ( i=0;i<3;i++){

2.
float k; - Если у Вас элементы матрицы обьявлены как int Matr[3][3]; так к чему вообще float ?

3.
k=Matr[j]; - Это что сделать должно ? Никак понять не могу что должно произойти . наверное спать пора идти


Пы.Сы. Пункт 1-й актуален для всех ваших циклов for(....)
devnir вне форума Ответить с цитированием
Старый 27.10.2010, 11:02   #10
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

спасибо...
Veronik@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы lisapendrik Помощь студентам 5 06.11.2009 10:32