Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2013, 19:16   #1
vadimc
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 30
По умолчанию матрица(проверить)

даны действительные числа a1..an.Получить квадратную матрицу порядка n:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
 int i,j,n,a[255],b[15][15];
 srand(time(NULL));
 scanf("%i",&n);
 for(i=0;i<n;i++)
  {
    a[i]=rand()%10;
    printf("%i ",a[i]);
  }
  printf("\n\n");
 for(i=0;i<n;i++)
   {
      for(j=0;j<n;j++)
        {
            if(j<=n-i-1) b[i][j]=a[i+j];
            else b[i][j]=a[i-(n-j)];
            printf("%i ",b[i][j]);
        }
      printf("\n");
   }
 return 0;
}
vadimc вне форума Ответить с цитированием
Старый 02.12.2013, 19:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И что не так?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.12.2013, 19:50   #3
vadimc
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 30
По умолчанию

тоесть все сделанно как нужно да ?
vadimc вне форума Ответить с цитированием
Старый 02.12.2013, 20:56   #4
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

В коде a[i] - не действительное число, а цифра. Что разные вещи.

В условии не указано, что n чем-либо ограничено.

Цитата:
printf("%i ",b[i][j]);
integer - не float
Smogg вне форума Ответить с цитированием
Старый 03.12.2013, 05:07   #5
vadimc
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 30
По умолчанию

Сможешь ее доделать чтобы работала,пожалуйста
vadimc вне форума Ответить с цитированием
Старый 03.12.2013, 09:35   #6
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Тебе намекают, что действительные числа - вещественные, должны быть объявлены как float (лучше double). Посему сделай массивы a и b массивами типа float и вместо printf("%i ",...) сделай printf("%f ",...).
И a[i] = rand() % 10 тоже надо бы переделать, оператор % не работает для вещественных чисел.
nikmoon вне форума Ответить с цитированием
Старый 03.12.2013, 10:29   #7
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
И a[i] = rand() % 10 тоже надо бы переделать, оператор % не работает для вещественных чисел.
что значит не работает?не вводите людей в заблуждение!
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 11:18   #8
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от SaLoKiN Посмотреть сообщение
что значит не работает?не вводите людей в заблуждение!
И какой будет результат для, например, 1.3 % 10?
nikmoon вне форума Ответить с цитированием
Старый 03.12.2013, 11:54   #9
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

хм... а с чего вы взяли что rand() даст значение 1,3?
rand() возвращает псевдослучайное целое число в диапазоне от 0 до RAND_MAX (32767).
использование % есть ничто иное как приведение случайного числа в заданный диапазон.
rand() % N - целая величина в диапазоне от 0 до N
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 03.12.2013 в 12:04.
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 12:13   #10
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Спасибо за ликбез.
Про rand() и 1.3 я конечно неправ.
Только в чем я неправ, утверждая, что % не работает для вещественных чисел?
a[i] = rand() % 10 в любом случае надо переделывать, т.к. будут получаться только целые числа.
И в целом, получается, что никого в заблуждение я не вводил, так что читайте внимательнее.
nikmoon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить, является квадратная матрица латинским квадратом? +Юлия GaL+ Паскаль, Turbo Pascal, PascalABC.NET 1 04.11.2011 23:24
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
ПОМОГИТЕ ПРОВЕРИТЬ ЗАДАЧКУ НА ПАСКАЛЕ!Матрица,2-Х мерный массив! vdv08 Помощь студентам 6 23.09.2008 13:13