|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - C++ Turbo 3.0 Задача с массивом! |
|
C/C++ - C++ Turbo 3.0 Задача с массивом!
|
Новый участник Сообщения: 15 |
Профиль | Отправить PM | Цитировать Здравствуйте,нужна помощь,в общем на лаб. по программированию сейчас идут задачи с массивом,в связи с нехваткой знаний обращаюсь к вам за помощью) помогите чем сможете
вот задача(пример) /* Подключние рабочих библиотек: <stdio.h> - библиотека ввода/вывода */ #include <stdio.h> int main(int argc, char* argv[]) { /* Именованная константа, определяющая количество элементов массива */ const MAX_ELEMENTS = 8; /* Объявление и инициализация переменных */ float m[MAX_ELEMENTS]; float sum = 0; float result = 1; int iMax, iMin; /* Запрашиваем ввод данных с клавиатуры */ for (int i = 0; i < MAX_ELEMENTS; i++) { printf("m[%d] = ", i); scanf("%f", &m[i]); } /* Принимаем индексы максимального и минимального массива равными 0 */ iMin = iMax = 0; for (i = 0; i < MAX_ELEMENTS; i++) { /* Вычисляем сумму отрицательных элементов массива */ if (m[i] < 0) sum += m[i]; /* Находим индексы максимального и минимального элементов массива */ if (m[i] > m[iMax]) iMax = i; if (m[i] < m[iMin]) iMin = i; } /* Находим произведение элементов массива, находящихся между минимальным и максимальными элементами */ for (i = ((iMax < iMin) ? iMax : iMin); i <= ((iMax > iMin) ? iMax : iMin); result *= m[i++]); /* Выводим на экран результат вычислений */ printf("\nСумма отрицательных элементов = %.2f\n", sum); printf("Результат = %.2f\n\n", result); /* Сортировка элементов массива по возрастанию */ for (i = 0; i < MAX_ELEMENTS; i++) { for (int j = i + 1; j < MAX_ELEMENTS; j++) { if (m[i] > m[j]) { result = m[i]; m[i] = m[j]; m[j] = result; } } } /* Вывод на экран отсортированного по возрастанию массива */ printf("Отсортированный массив:\n"); for (i = 0; i < MAX_ELEMENTS; printf("%.2f ", m[i++])); return 0; } Результат выполнения программы: m[0] = 3 m[1] = 7 m[2] = -4 m[3] = 8 m[4] = -1 m[5] = 9 m[6] = 0 m[7] = 7 Сумма отрицательных элементов = -5.00 Результат = 288.00 Отсортированный массив: -4.00 -1.00 0.00 3.00 7.00 7.00 8.00 9.00 В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) сумму положительных элементов массива; 2) произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Упорядочить элементы массива по убыванию. #include <stdio.h> #include <math.h> int main(int argc, char* argv[]) { const MAX_ELEMENTS = 80; float m[MAX_ELEMENTS]; float sum = 0; float result = 1; int iMax, iMin,n; FILE *in=fopen("1.txt","r"); fscanf(in,"%d", &n); for (int i = 0; i < n; i++) { // printf("m[%d] = ", i); fscanf(in,"%f", &m[i]); } iMin = iMax = 0; for (i = 0; i < MAX_ELEMENTS; i++) { if (m[i] > 0) sum += m[i]; if (m[i] > m[iMax]) iMax = i; if (m[i] < m[iMin]) iMin = i; } for ( i = ((iMax < iMin) ? iMax : iMin); i <= ((iMax > iMin) ? iMax : iMin); result *= m[i++]); printf("\n summa polojitelinih 4isel = %.2f\n", sum); printf("rezultat = %.2f\n\n", result); for (i = 0; i > MAX_ELEMENTS; i--) { for (int j = i - 1; j < MAX_ELEMENTS; j--) { if (m[i] < m[j]) { result = m[i]; m[i] = m[j]; m[j] = result; } } } printf("otsortirovanii massiv:\n"); for (i = 0; i < MAX_ELEMENTS; printf("%.2f ", m[i++])); return 0; } очень надо! и вот вторая задача пример: ДВУМЕРНЫЕ МАССИВЫ Пример задания: Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Пример решения задачи: #include <stdio.h> int main(int argc, char* argv[]) { /* Объявляем и инициализируем матрицу 8х8 */ int matrix[8][8] = { { 2, 7, 2, 7, 1, 4, 0, 3 }, { 1, 0, 7, 6, 0, -8, 3, 5 }, { 2, 7, 1, 8, 1, 4, 9, 3 }, { 9, 2, 8, 5, 2, 0, 0, 6 }, { 7, 1, 1, 3, 9, 3, 9, 1 }, { 8, 2, 4, 9, 1, -6, 4, 9 }, { 0, 3, 9, 0, 9, 4, 8, 8 }, { 1, 8, 3, 2, 8, 2, 8, 0 } }; int i, j, iSumm; /* Счетчик и переменная для хранения суммы */ bool bFlag; /* Флаг */ /*----------------------------------------------*/ /* П Е Р В А Я Ч А С Т Ь З А Д А Н И Я */ /*----------------------------------------------*/ printf("k = "); for (i = 0; i < 8; i++) { /* Присваиваем Флагу исходное значение */ bFlag = true; for (j = 0; j < 8; j++) { /* Сравниваем элемент i-й строки j-го столбца с элементом j-й строки i-го столбца. В случае их несоответствия присваиваем Флагу значение Ложь и прерываем цикл по j конструкцией break */ if (matrix[i][j] != matrix[j][i]) { bFlag = false; break; } } /* В случае сохранения флагом исходного значения выводим на экран номер соответствующей строки */ if (bFlag) printf("%d ", i); } /*----------------------------------------------*/ /* В Т О Р А Я Ч А С Т Ь З А Д А Н И Я */ /*----------------------------------------------*/ printf("\n\n"); for (i = 0; i < 8; i++) { /* Присваиваем переменным исходные значения */ bFlag = false; iSumm = 0; for (j = 0; j < 8; j++) { /* При нахождение хотя бы одного отрицательного элемента присваиваем Флагу значение Истина, обозначающее необходимость вывода Суммы на экран */ if (matrix[i][j] < 0) bFlag = true; /* Суммируем значения элементов i-й строки */ iSumm += matrix[i][j]; } /* В случае нахождения в строке хотя бы одного отрицательного элемента выводим на экран сумму элементов i-й строки */ if (bFlag) printf("Сумма элементов строки #%d = %d\n", i, iSumm); } return 0; } Результат выполнения программы: k = 2 6 Сумма элементов строки #1 = 14 Сумма элементов строки #5 = 31 Цитата:
|
||
Отправлено: 05:35, 24-10-2010 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Ребята срочно =(
|
Отправлено: 23:14, 24-10-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - [решено] Помогите в решении задачи с одномерным массивом VBA. | vovan1993 | Программирование и базы данных | 3 | 02-07-2010 06:57 | |
Turbo Photo 6.7 | OSZone Software | Новости программного обеспечения | 0 | 22-01-2010 20:30 | |
Прочие - Turbo Pascal 7 | Sniper | Программное обеспечение Windows | 30 | 01-12-2008 16:04 | |
Проблема с райд массивом | labile | Хочу все знать | 10 | 22-07-2008 22:09 | |
Есть проблема с массивом и meta-тегами (PHP) | yager | Вебмастеру | 9 | 13-07-2006 21:24 |
|