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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.01.2009, 22:17   #1
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию добавление столбца в массив

Всем привет. Мне дали такое задание.
Вставьте новый столбец после столбца в котором нет ни одного отрицательного элемента.
Помогите разобраться как правильно найти столбец где нет отрицательных элементов. В моём коде ошибка, с переменной int k ))).
И если вам не трудно подскажите как выполнить проверку на количество столбцов с одними положительными элементами(если таких больше 1 вывести сообщение об ошибке).
Код:
#include<iostream>
using namespace std;

int **creat(int &n, int &m)
{
	cout << "n="; cin >> n;
	cout << "m="; cin >> m;
	int **mas=new int *[n];
	for(int i=0; i<n; ++i)
		mas[i]=new int [2*m];
	for(i=0; i<n; ++i)
		for(int j=0; j<m; ++j)
		{
			cout << "mas[" << i << "][" << j << "]=";
			cin >> mas[i][j];
		}
		return mas;
}

void print(int **mas, int n, int m)
{
	for(int i=0; i<n; i++, cout << endl)
		for(int j=0; j<m; j++)
			cout << mas[i][j] << "\t";
}

void deleteMas(int **mas, int n)
{
	for(int i=0; i<n; i++)
		delete [] mas[i];
	delete [] mas;
}

int main()
{
	int n,m,b;
	int **a=creat(n,m);
	int m2=2*m;
	print(a,n,m);
    int k=0;
	for(int j=0; j<m; ++j)

		for(int i=0; i<n; i++)
       
			if(a[i][j]<0)
			{

				
				k=j;
				b=a[0][j]!=k;
			}


		for(j=m; j>b; --j)
			for(int i=0; i<n; ++i)
				a[i][j]=a[i][j-1];
			m++;
			for(int i=0; i<n; ++i)
			{
				cout << "a[" << i << "][" << b << "]=";
				cin >> a[i][b+1];
			}
			print(a,n,m);
	deleteMas(a,n);

	return 0;
}
Зарание благодарен.
DeFace вне форума
Старый 08.01.2009, 22:20   #2
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

Ну помогите же кто нибудь, пожалуйста. А то скоро контрольную сдавать

Модератор: за флуд можете получить предупреждение. Если никто не отвечает, значит не знают, либо не видели вашу тему. А от того, что вы еще раз сюда напишете подобное сообщение, дело быстрее не пойдет. Так что имейте терпение.

Последний раз редактировалось MaTBeu; 09.01.2009 в 00:06.
DeFace вне форума
Старый 09.01.2009, 09:01   #3
Doc
Пользователь
 
Аватар для Doc
 
Регистрация: 09.01.2009
Сообщений: 15
По умолчанию

Код:
int check(int* mas,int size) {
  for(int i=0;i<size;i++) {
    if(mas[i]<0) {
      return 0;
    }
  }
return 1;
}

проверяем так:
int k=0;
for(int i=0;i<size;i++) {
k+=check(mas[i],size_mas);
}
if(k>1) {
//вывод сообщения об ошибке
}
Здесь функция check() просматривает столбец и, если находит в нем хоть один отрицательный элемент, то возвращает 0, иначе 1, следовательно, после выхода из цикла в k окажется число чисто положительных столбцов.
size и size_mas - длина твоих столбцов, только в цикле size - это количество столбцов
mas - указатель на массив указателей элементов столбца


Модератор: тег CODE

Последний раз редактировалось MaTBeu; 09.01.2009 в 17:02.
Doc вне форума
Старый 09.01.2009, 19:29   #4
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

спасибо большое. извиняюсь за флуд))
DeFace вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив.Поиск столбца сумма,которого равна 0 Almost456 Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2008 23:43
Добавление в массив Шура Помощь студентам 6 30.11.2008 10:48
одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца ruslan09-93 Помощь студентам 2 15.11.2008 20:26
Добавление элементов массива в массив JOFRIF Общие вопросы C/C++ 11 04.10.2008 01:47
Добавление строк в массив boks Microsoft Office Excel 2 28.09.2007 10:08