Иллюстрированный самоучитель по С++ для начинающих

Решения (задачи 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();
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.