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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 14:51   #1
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию Индивидуальное задание на Си

Всем привет. Студент первого курса.
Получил индивинудалку.


1 Записать на языке Си фрагмент деклараций программы, соответствующий тексту на естественном языке:
а) Объявить переменную jj.
б) Объявить переменную v, инициализировать ее значением -5.
в) Объявить переменные j1, j2, j3 целого типа.
г) Объявить массив p целого типа, состоящий из 5 элементов. Инициализировать его значениями 2, 3, 10, 11, 5.
д) Объявить двумерный массив rc целого типа, состоящий из 3 строк и 3 столбцов. Инициализировать его значениями -1, -2, -3, 1, 2, 3, 7, 2, 5.
2. Записать на языке Си фрагмент программы, соответствующий тексту на естественном языке (декларации переменных выполнены Вами в п.1 этого задания).
2. Если разность jj и v равна j3, то j1 увеличить вдвое, иначе j2 присвоить значение j3. Третьему элементу второй строки массива rc присвоить значение переменной v. Изменяя значение переменной j3, накопить в переменной v сумму тех элементов первой строки массива rc, которые совпадают по знаку с соответствующим элементом третьей строки.

вот то что я сделал
Код:
int ji;
	int v = -5;
	int j1, j2, j3;
	int p[5] = {2, 3, 10, 11, 5};
	int rc[3][3] = {-1, -2, -3, 1, 2, 3, 7, 2, 5};


	if(ji-v==j3)
		ji=ji*2;
	else
		j2=j3;
	v=3;
Не могу сделать то что выделил красным шрифтом... хз как. Помогите)
Praud вне форума Ответить с цитированием
Старый 22.11.2012, 15:45   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Убивать надо за такие задания. Эпсилон дельты в худшей разновидности.

1г) у Вас неправильно. Речь идёт о создании массива массивов. Вероятно, в условии он задан построчно, т.е.
Код:
int rc[3][3] = {{-1, -2, -3}, {1, 2, 3}, {7, 2, 5}};
Первая строка, в таком случае - члены rc[0][0], rc[0][1], rc[0][2].
Третий элемент второй строки - rc[1][2] (все индексы в C начинаются от 0). Присвоить ему значение v - как и обычной переменой, это вместо v=3.
Если j3 имеет значение от 0 до 3, условие "(j3+1)-ый элемент первой строки совпадает по знаку с соответствующим элементов третьей строки" - это, например
Код:
if(rc[0][j3]*rc[2][j3] >= 0)
"Накопить в переменной" означает присвоить переменной "начальное значение" (для сложения это 0, для умножения 1) и раз за разом складывать/домножать/применять иную операцию накопления.
В частности, если rc[0][j3] - нужный нам элемент, то он "докладывается" в v следующей инструкцией:
Код:
v = v + rc[0][j3];
В C для действия "прибавить" (равно как и "домножить" и ряда других) существует специальная форма, эквивалентная строке кода выше:
Код:
v += rc[0][j3];
.
Изменять значение переменной j3 можно руками, присваивая ей значения 0, 1, 2 (закончили). А можно использовать цикл for, об организации которого настоятельно советую прочитать в какой-нибудь хорошей книжке.
Abstraction вне форума Ответить с цитированием
Старый 22.11.2012, 15:57   #3
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Спасибо большое. Все расписали вроде понятно) Сейчас попробую.
Praud вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание в С++ Мариша1993 Помощь студентам 0 21.11.2011 17:43
Запутаное задание задание с массивом.Буду очень благодарен. Riko1 Общие вопросы C/C++ 2 22.10.2011 10:23
задание gilardino11 Общие вопросы C/C++ 5 20.12.2010 23:49
Индивидуальное задание(список студентов, библиотека) AlverX Microsoft Office Access 0 24.05.2009 18:29