Решения (задачи 160-179)
Задача 160.
// Обработка результатов экзамена #include <stdio.h> #include <conio.h> void main() i int n[6]; // количество двоек,…, пятерок int s = 0; // всего оценок float p[6]; // процент каждой оценки char *mes[6] ={"\0", "\0", "двоек\0","троек\0", "четверок\0","пятерок\0"} int i; puts("Обработка результатов экзамена"); puts("Введите исходные данные:"); for (i = 5; i >= 2; i– ) printf("%s › ", mes[i]); scanf("%i", &n[i]); s += n[i]; } // вычислим процент каждой оценки for (i = 2; i < 6; i++) p[i] = (float)n[i]/s*100; puts("Результаты экзамена"); puts ("----------------------------"); for (i = 5; i >= 2; i– ) printf("%8s %2i %2.0f%\n",mes[i], n[i], p[i]); puts (" "); puts("Для завершения программы нажмите Enter"); getch();
Задача 162.
// Определитель матрицы второго порядка #include <stdio.h> finclude <conio.h>void main () float a[2][2]; // матрица float det; // определитель (детерминант) int i,j; // индексы массива printf("ХпВведите матрицу второго порядка.\n"); printf("После ввода элементов строки нажмите Enter\n"); for (i = 0; i < 2; i++) { printf(" › "); scanf("%f%f", &a[i][0], &a[i][l]); } det = a[0] [0] * a[l] [1] – a[0] [1] * a[l] [0]; printf("Определитель матрицы\п"); for (i = 0; i < 2; i++) printf ("%f %f\n", a[i][0], a[i][l]); printf("равен %f", det); printf("Хп Для завершения нажмите Enter"); getch();
Задача 163.
// Строка с максимальной суммой элементов #include <stdio.h> #include <conio.h> #define N 3 // размер квадратной матрицы d main() int m[N][N+l]; // последний столбец используем // для хранения суммы эл-тов строки int max; // строка с максимальной суммой // элементов int i/j; // индексы puts("Хп Определение строки с максимальной"); puts("суммой элементов"); printf("Введите матрицу %ix%i\n", N, N); for (i = 0; i < N; i++) { printf("Элементы Si-й строки › ", i+1); for (j = 0; j < N; j++) scanf ("%i", &m[i] [j]); // для каждой строки вычислим сумму эл-тов for (i = 0; i < N; i m[i] [N] = 0; for(j = 0; j < N; j m[i] [N] += m[i] [j]; // найдем строку с максимальной суммой max =0; for (i = 1; i < N; i++) if (m[i] [N] > m[max] [N]) max = i; printf("\nB %±-й строке сумма элементов", max+1); printf("максимальна и равна %i\n", m[max][N]); printf("\п Для завершения нажмите Enter\n"); getch();