С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

21.04.2012, 14:48. Просмотров 522. Ответов 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");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2012, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему в матрице нули выдаёт (C++):

Заменить в матрице нули на пробелы - C++
Добрый день всем. Хотел узнать 1 вопрос. Есть двумерный массив,заполненный 0 и 1. Как вывести данный массив,чтобы остались только...

Заменить в матрице все элементы, большие от 10, на нули - C++
составьте программу замены в прямоугольном массиве А всех элементов, большие от 10, на нуле.

В матрице найти количество строк, у которых все нули - C++
В матрице найти количество строк, у которых все нули (с комментариями если можно)

В матрице найти количество строк, у которых все нули - C++
В матрице найти количество строк, у которых все нули;(через динамический массив) сделайте пожалуйста

Почему выдаёт ошибку? - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; // описание класса - задание типа для объектов ...

Почему выводит нули? #c++ - C++
int i; int p = 1; for(i=1; i&lt;=n+1; i++){ x = (1/2)*(cos((2*i+5)/(18*(n+1))) + l); cout&lt;&lt;x&lt;&lt;&quot;\n&quot;; p++; }; n объявлено...

12
Байт
Нарушитель
Эксперт C
16699 / 10963 / 1689
Регистрация: 24.12.2010
Сообщений: 21,404
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]);
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
21.04.2012, 14:59 #3
C
1
printf("%f\t", a[i][j]);
0
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:02  [ТС] #4
Балин опять с этими f d лоханулся, ну если f поставить тоже выводить чуш
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
21.04.2012, 15:04 #5
Почему же? Все выводит верно
вывод
0
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:06  [ТС] #6
На матрицу 8*10 не сильно похоже
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
21.04.2012, 15:07 #7
Почему? Все верно, 8 строк, в каждой по 10 чисел типа float, может вас смущают нули которые выводятся после точки?
0
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:09  [ТС] #8
ну да из за нулей её вид портится
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
21.04.2012, 15:11 #9
C
1
printf("%.1f\t", a[i][j]);
будет выводится до 1 знака после точки.
0
Байт
Нарушитель
Эксперт C
16699 / 10963 / 1689
Регистрация: 24.12.2010
Сообщений: 21,404
21.04.2012, 15:12 #10
C
1
printf("%.0f\t", a[i][j]);
0
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.04.2012, 15:15  [ТС] #11
А почему вот вроде как тип данных флоат а рендом заполняет только целыми числами

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

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

Почему выводит нули?! - C++
Должно же перемножать. Почему выводит нули?! long double fact(int N) { if (N &lt; 0) return 0; if (N == 0) return 1;...

В заданной матрице найти строки, все элементы которых – нули - C++
Доброго времени суток. Нужно найти стоки, все элементы которых нули Подскажите пожалуйста в чем ошибка.. bool k; for (int i(1);...

Почему выдаёт данную ошибку ? - C++
Как её исправить

Почему компилятор выдаёт ошибки? - C++
Почему компилятор выдаёт ошибки? #include &lt;iostream.h&gt; #include &lt;conio.h&gt; Void main () { int a, b, c; std::cin &gt;&gt; a &gt;&gt; b...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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