Подскажите, задача в заполнение двумерного масива числами действительного типа. Когда ввожу целые все работает нормально, но при попытки записать даже самое простое дробное записывает непонятные значения в массив.
Странная, но забавная ошибка Кстати, очень маленькие/большие числа вводят так: x.xxxxE+yy или x.xxxxE-yy, к примеру 5.15E-26
почитай про типы данных, а так, для справки, int это целые числа, double и float уже можно дробные вводить, string буквы
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int n, m; cout << "Введите количество строк и столбцов двумерного массива: "; cin >> n >> m; // Создаем двумерный массив double **arr; arr = new double*[n]; for (int i = 0; i < n; ++i) arr[i] = new double[m]; // Заполняем массив случайными числами srand(time(nullptr)); for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j) arr[i][j] = (double)rand() / RAND_MAX; // Выводим массив for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) cout << arr[i][j] << ' '; cout << endl; } // Удаляем массив for (int i = 0; i < n; ++i) delete[] arr[i]; delete[] arr; return 0; } C #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int n, m; cout << "Введите количество строк и столбцов двумерного массива: "; cin >> n >> m; // Создаем двумерный массив double **arr; arr = new double*[n]; for (int i = 0; i < n; ++i) arr[i] = new double[m]; // Заполняем массив случайными числами srand(time(nullptr)); for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j) arr[i][j] = (double)rand() / RAND_MAX; // Выводим массив for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) cout << arr[i][j] << ' '; cout << endl; } // Удаляем массив for (int i = 0; i < n; ++i) delete[] arr[i]; delete[] arr; return 0; }