Напечатать таблицу - 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");
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: iostream, fstream, conio, locale, stdlib.
  2. Объявляется функция Input, которая принимает указатель на матрицу, количество строк и количество столбцов. Внутри функции два вложенных цикла заполняют элементы матрицы суммой номера строки и номера столбца.
  3. Объявляется функция Output, которая принимает указатель на матрицу, количество строк и количество столбцов. Внутри функции два вложенных цикла выводят элементы матрицы через пробел.
  4. В функции main устанавливается русская локаль.
  5. В цикле do-while пользователь вводит количество строк и столбцов. Если ввод некорректен, то с помощью fflush(stdin) очищается буфер ввода и с помощью continue происходит повторный запрос на ввод.
  6. С помощью malloc выделяется динамическая память под матрицу.
  7. С помощью функции Input заполняется матрица.
  8. С помощью функции Output выводится исходная матрица.
  9. Выводится сообщение об успешном завершении программы.
  10. Программа ожидает нажатия любой клавиши для завершения работы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы