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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2012, 13:00   #1
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
Вопрос фрагмент программы(СИ)

пишу программу,но в ней неправильно работает кусок:

for (i = 1; i <= n; i++)

{ for (j = 1; j <= n; j++)

{ if (b[i][j]>=16000) break;
if (j=n)printf("%i ", i);
}}



for (j = 1; j <= n; j++)
{
for (i = 1; i <= n; i++)
{if (b[i][j]>=16000) break;
if (i=n)printf("%i ", j);
}}

должно работать так: есть матрица. программа должна сначала выводить номера строк,в которых нет элементов >=16000. а потом-номер столбцов с таким же условием.
помогите,пожалуйста, найти ошибку)
iris_ka вне форума Ответить с цитированием
Старый 24.04.2012, 13:39   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Нумерация индексов массивов в С начинается не с 1, а с 0.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 24.04.2012, 13:45   #3
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
По умолчанию

это вроде учитывала.и заполняла матрицу не с нулевого,а с первого элемента..
iris_ka вне форума Ответить с цитированием
Старый 24.04.2012, 13:52   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

сравнение в С ==, а не = как у вас в ифах
p51x вне форума Ответить с цитированием
Старый 24.04.2012, 13:59   #5
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
По умолчанию

точно!!как я такое проглядела!(
из-за этого вся программа неправильно работала.
спасибо вам огромное=)
iris_ka вне форума Ответить с цитированием
Старый 24.04.2012, 14:13   #6
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Код:
#include <stdio.h>
bool check(int col, int* columns, int csize)
{
   for(int i=0;i<csize;i++)
   {
	 if(col == columns[i])
       return false;
   }
   return true;  
}

//main
	int* columns = new int(n);
	int colindx = 0;
	bool isLineOver = false;

	printf("lines:\n");
	for(int i=0;i<n;i++)
	{
	 for(int j=0;j<m;j++)
	 {
	   if(matrix[i][j]>=16000)
	   {
		 isLineOver = true;
		 columns[colindx++] = j;
	   }
	 }
	 if(!isLineOver)
	   printf("%d ",i+1);
	 else isLineOver = false;
	}
    printf("\ncolumns:\n"); 
	for(int i = 0;i < n; i++)
	{
	  if(check(i,columns,colindx))
	     printf("%d ",i + 1); 
	}
Мб как-то так?
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 24.04.2012, 14:35   #7
iris_ka
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 44
По умолчанию

спасибо за такой вариант)

сама сначала хотела через функцию булевского типа делать, но запуталась и закопалась(
iris_ka вне форума Ответить с цитированием
Старый 24.04.2012, 15:19   #8
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

delete [] columns; // =)
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фрагмент резидентной программы WildHeart Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.04.2012 11:30
Фрагмент кода программы Delphi Начинающий програм Помощь студентам 2 21.01.2012 23:41
Фрагмент программы Delphi Начинающий програм Помощь студентам 2 21.01.2012 22:13
Фрагмент программы по стеганографии riderpro Общие вопросы Delphi 10 08.01.2012 20:00
Нужен фрагмент программы за деньги Alextuter Фриланс 1 02.04.2011 17:45