Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
#1

Почему в матрице нули выдаёт - C++

21.04.2012, 14:48. Просмотров 501. Ответов 12
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main()
{int i,j;
const int n=8,m=10;
    float a[n][m];
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            a[i][j]=rand()%100-50;
if (a[i][j]==0) a[i][j]+=1;
printf("%d\t", a[i][j]);
}
printf("\n");
}
system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15845 / 10172 / 1524
Регистрация: 24.12.2010
Сообщений: 19,184
21.04.2012, 14:59     Почему в матрице нули выдаёт #2
C
1
printf("%d\t", a[i][j]);
%d ждет int, а у тебя float a
Надо
C
1
printf("%f\t", a[i][j]);
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.04.2012, 14:59     Почему в матрице нули выдаёт #3
C
1
printf("%f\t", a[i][j]);
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:02  [ТС]     Почему в матрице нули выдаёт #4
Балин опять с этими f d лоханулся, ну если f поставить тоже выводить чуш
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.04.2012, 15:04     Почему в матрице нули выдаёт #5
Почему же? Все выводит верно
вывод
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:06  [ТС]     Почему в матрице нули выдаёт #6
На матрицу 8*10 не сильно похоже
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.04.2012, 15:07     Почему в матрице нули выдаёт #7
Почему? Все верно, 8 строк, в каждой по 10 чисел типа float, может вас смущают нули которые выводятся после точки?
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:09  [ТС]     Почему в матрице нули выдаёт #8
ну да из за нулей её вид портится
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.04.2012, 15:11     Почему в матрице нули выдаёт #9
C
1
printf("%.1f\t", a[i][j]);
будет выводится до 1 знака после точки.
Байт
Эксперт C
15845 / 10172 / 1524
Регистрация: 24.12.2010
Сообщений: 19,184
21.04.2012, 15:12     Почему в матрице нули выдаёт #10
C
1
printf("%.0f\t", a[i][j]);
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:15  [ТС]     Почему в матрице нули выдаёт #11
А почему вот вроде как тип данных флоат а рендом заполняет только целыми числами

Добавлено через 1 минуту
Почему рендом целыми числами выдаёт
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.04.2012, 15:18     Почему в матрице нули выдаёт #12
Ну и что что тип float, функция rand() возвращает целочисленный тип. И операция % применима только к целым числам.

Добавлено через 57 секунд
Если хотите дробные числа:
C
1
a[ i ][ j ] = ( rand() % 1000 - 500 ) / 100.;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2012, 15:19     Почему в матрице нули выдаёт
Еще ссылки по теме:
C++ В заданной матрице найти строки, все элементы которых – нули
C++ Почему выдаёт данную ошибку ?
Почему компилятор выдаёт ошибки? C++
C++ Проверить что в квадратной матрице все нули кроме главной диагонали
C++ Почему-то всегда выдаёт неверный ввод

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:19  [ТС]     Почему в матрице нули выдаёт #13
Спасибо ещё раз ну конечно хреново что дробные числа в ручную придётся писать
Yandex
Объявления
21.04.2012, 15:19     Почему в матрице нули выдаёт
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru