Напечатать таблицу - C (СИ)
Формулировка задачи:
Написал код, он не работает и нет уверенности, что он правильный. Буква В не дописана.
Задание - Документ Microsoft Word (2).docx
#include "stdafx.h"
#include <iostream>
#include "stdio.h"
#include "conio.h"
void main()
{
int i, j,index1, index2, Cymma[10][10], npouz[10][10];
double x, sin(x), cos(x), tan(x), index3, tabl[10][10];
setlocale(LC_ALL, "Russian");
printf("Введите количество строк i:=");
getchar ();
printf("\nВведите количество столбцов j:=");
getchar ();
printf("\nВведите (x<=1) x=");
getchar ();
scanf("%d%d%lf", &i, &j, &x);
index1 = 0;
index2 = 0;
/*а,б*/
while (index1 >=i)
{
while (index2 >=j)
{
Cymma[index1][index2] = index1 + index2;
npouz[index1][index2] = index1 * index2;
index1=index1++;
index2=index2++;
}
}
printf("Таблица сумм=%d", Cymma[index1][index2]);
printf("Таблица произведений=%d", npouz[index1][index2]);
/*в*/
index3=0;
while(index3>=x)
{
tabl[index3][sin(x)]=sin(x);
}
getchar ();
return;
}Решение задачи: «Напечатать таблицу»
textual
Листинг программы
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
using namespace std;
// Функция ввода элементов матрицы
void Input(int** matr, int rows, int cols)
{
int i, j;
for(i = 0; i < rows; i++)
{
for(j = 0; j < cols; j++)
{
// заполняем суммами элементов
matr[i][j] = i + j;
}
}
}
// Функция вывода матрицы
void Output(int** matr, int rows, int cols)
{
int i, j;
for(i = 0; i < rows; i++)
{
printf("\n");
for(j = 0; j < cols; j++)
printf(" %d", matr[i][j]);
}
}
void main()
{
int **matrix, kol;
int i, j;
setlocale(LC_ALL, "Russian");
// Ввод числа строк и столбцов
do
{
printf("Введите количество строк и столбцов: \n");
int rez = scanf("%d", &kol);
if (0 == rez)
{
fflush(stdin);
continue;
}
break;
}
while(!0);
// выделяем память для динамической матрицы
matrix = (int **)malloc(sizeof(int *) * kol);
for(i = 0; i < kol; i++)
matrix[i] = (int *)malloc(sizeof(int) * (kol + 1));
// Заполняем матрицу
Input (matrix, kol, kol);
// вывод исходной матрицы
printf("Исходная матрица: \n");
Output(matrix, kol, kol);
printf("\n");
system ("pause");
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: iostream, fstream, conio, locale, stdlib.
- Объявляется функция
Input, которая принимает указатель на матрицу, количество строк и количество столбцов. Внутри функции два вложенных цикла заполняют элементы матрицы суммой номера строки и номера столбца. - Объявляется функция
Output, которая принимает указатель на матрицу, количество строк и количество столбцов. Внутри функции два вложенных цикла выводят элементы матрицы через пробел. - В функции
mainустанавливается русская локаль. - В цикле do-while пользователь вводит количество строк и столбцов. Если ввод некорректен, то с помощью
fflush(stdin)очищается буфер ввода и с помощьюcontinueпроисходит повторный запрос на ввод. - С помощью
mallocвыделяется динамическая память под матрицу. - С помощью функции
Inputзаполняется матрица. - С помощью функции
Outputвыводится исходная матрица. - Выводится сообщение об успешном завершении программы.
- Программа ожидает нажатия любой клавиши для завершения работы.