Напечатать таблицу - 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
выводится исходная матрица. - Выводится сообщение об успешном завершении программы.
- Программа ожидает нажатия любой клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д