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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2013, 14:53   #1
Юлия!
 
Регистрация: 09.12.2013
Сообщений: 7
По умолчанию Матрицы в Си

Здравствуйте, что изменить в программе, чтобы выводила матрицу так же по спирали только с нижнего правого конца?
#include <stdio.h>
#include <stdlib.h>
int main()
{


int ** matr, ROWS, COLS, count, i, j;
int rowBeg, rowEnd, colBeg, colEnd;
// запрашиваем у пользователя размеры матрицы
printf( "Введите количество строк матрицы: " );
scanf( "%d", &ROWS );
// выделяем память для динамической матрицы
printf( "Введите количество столбцов матрицы: " );
scanf( "%d", &COLS );
matr = ( int ** ) malloc( ROWS * sizeof( int * ) );
for( i = 0; i < ROWS; i++ )
matr[i] = ( int * ) malloc( COLS * sizeof( int ) );
printf( "\nДля матрицы : %d x %d\n\n", ROWS, COLS );
// Инициализируем матрицу случайными значениями в диапазоне 1 - 50

for( i = 0; i < ROWS; i++ )
for( j = 0; j < COLS; j++ )
scanf("%d",&matr[i][j]);
// Вывод матрицы
for( i = 0; i < ROWS; i++ )
{
for( j = 0; j < COLS; j++ )
printf( "%3d", matr[i][j] );
puts( "" );
}
// Вывод значений матрицы по спирали
puts( "\n\n\tвывод значений по спирали:\n" );
rowBeg = 0;
rowEnd = ROWS - 1;
colBeg = 0;
colEnd = COLS - 1;
count = ROWS * COLS;
while( count )
{
for( i = colBeg; i <= colEnd && count; i++, count-- )
printf( "%3d", matr[rowBeg][i] );
rowBeg++;
for( i = rowBeg; i <= rowEnd && count; i++, count-- )
printf( "%3d", matr[i][colEnd] );
colEnd--;
for( i = colEnd; i >= colBeg && count; i--, count-- )
printf( "%3d", matr[rowEnd][i] );
rowEnd--;
for( i = rowEnd; i >= rowBeg && count; i--, count-- )
printf( "%3d", matr[i][colBeg] );
colBeg++;
}
puts( "" );
//освобождаем память
for( i = 0; i < ROWS; i++ )
free( matr[i] );
free( matr );
system("pause");
return 0;
}
Юлия! вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перекодировать консолевкий код под оконное приложение в Билдер 6. Решаю матрицы Матрицы g.e.s Общие вопросы C/C++ 0 18.11.2012 20:21
Первый элемент - размерность матрицы, остальные образуют строки этой матрицы Anastasiya_Pot Помощь студентам 2 10.04.2012 09:46
Язык СИ! Динамическое выделение памяти под массивы и матрицы, передача матрицы в функции Андрей! Общие вопросы C/C++ 33 31.01.2012 22:07
С++.три матрицы, упорядочить строки той матрицы у которой больше нулевых строк Ирина1992 Помощь студентам 12 20.11.2011 13:01
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19