простенькое программирование

avatar AndreyChu

1415

35

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

Всем привет. Прошу Вас помочь с простой задачей по программированию, которую нам задали в школе. Собственно что нужно сделать:
На вход подается одно натуральное число, которое обозначает кол-во строк.
Далее на каждой строке вводится число с клавиатуры, ввод чисел заканчивается после ввода нуля. Для каждого числа программа должна построить квадратную матрицу по типу как на примере.
Пример:
1)


1

2)



1 1




1 1

3)


1 1 1




1 2 1




1 1 1

5)


1 1 1 1 1




1 2 2 2 1




1 2 3 2 1




1 2 2 2 1




1 1 1 1 1

0
(Программа нужна желательно на языке C)

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

В моей теме матрицы немного съехали, но я надеюсь вы разберётесь.
P.S. Числа для каждой строчки вводятся с помощью "scanf"

n0zh1k

Пользователь

Регистрация: 16.07.2013

Сообщения: 1422

Рейтинг: 1010

n0zh1k

Регистрация: 16.07.2013

Сообщения: 1422

Рейтинг: 1010

Изи же

Пако

Пользователь

Регистрация: 12.01.2013

Сообщения: 1016

Рейтинг: 366

Пако

Регистрация: 12.01.2013

Сообщения: 1016

Рейтинг: 366

сам делай, раб системы

xxx999xxxVASYAxx999xxx

Пользователь

Регистрация: 22.06.2014

Сообщения: 771

Рейтинг: 677

Нарушения: 100

xxx999xxxVASYAxx999xxx

Регистрация: 22.06.2014

Сообщения: 771

Рейтинг: 677

Нарушения: 100

я не шарю чо ты у меня спрашиваешь

n0zh1k

Пользователь

Регистрация: 16.07.2013

Сообщения: 1422

Рейтинг: 1010

n0zh1k

Регистрация: 16.07.2013

Сообщения: 1422

Рейтинг: 1010

Если ты не можешь сделать такое легкое задание то это беда

Swag_Spirit322

Пользователь

Регистрация: 31.08.2014

Сообщения: 4132

Рейтинг: 2175

Нарушения: 105

Swag_Spirit322

Регистрация: 31.08.2014

Сообщения: 4132

Рейтинг: 2175

Нарушения: 105

Забей на всё это и пикай паджика

ITWispa

Пользователь

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

ITWispa

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

AndreyChu сказал(а):
В(Программа нужна желательно на языке C)
Нажмите, чтобы раскрыть...

Могу попробовать написать на Паскале или на алгоритмическом. Сойдет?

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

Если не получается, ничего страшного. Ладно, на самом деле я напиздл - эту задачку нам задали не в школе. )) Но, вроде она не особо трудная. Знающие подскажите непроствленному чем можете.

ITWispa

Пользователь

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

ITWispa

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

AndreyChu сказал(а):
Всем привет. Прошу Вас помочь с простой задачей по программированию, которую нам задали в школе. Собственно что нужно сделать:
На вход подается одно целое число типа int,
Нажмите, чтобы раскрыть...

Целое число - число, включающее положительны, отрицательные не дробные числа + 0. Поменяй условие.

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

Цитата:


В(Программа нужна желательно на языке C)
Могу попробовать написать на Паскале или на алгоритмическом. Сойдет?
Нажмите, чтобы раскрыть...

Да, конечно, можно и на Pascal.

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

Апну тему, может кто еще увидит.
По сабжу, с помощью массивов эта программа решается довольно сложно. Можно как-то исхитриться с помощью циклов.

InsaneKote

Пользователь

Регистрация: 28.09.2013

Сообщения: 20

Рейтинг: 6

InsaneKote

Регистрация: 28.09.2013

Сообщения: 20

Рейтинг: 6

массив жеж нужно запилить

ITWispa

Пользователь

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

ITWispa

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

AndreyChu сказал(а):
Апну тему, может кто еще увидит.
По сабжу, с помощью массивов эта программа решается довольно сложно. Можно как-то исхитриться с помощью циклов.
Нажмите, чтобы раскрыть...

С массивом как раз таки проще.

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

основная проблема с правильным заполнением массива.

Eposto86

Пользователь

Регистрация: 02.10.2013

Сообщения: 15

Рейтинг: 6

Eposto86

Регистрация: 02.10.2013

Сообщения: 15

Рейтинг: 6

Парень, тебе не на этот форум. Тут одни комнотные дотеры сидят. Хуй кто тебе ответит, я тебе говорю. Иди на паблик Типичный программист. Там ответят

ITWispa

Пользователь

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

ITWispa

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

AndreyChu сказал(а):
основная проблема с правильным заполнением массива.
Нажмите, чтобы раскрыть...

В принципе можно заполнить только половину квадрата, а потом вывести остальное.

ITWispa

Пользователь

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

ITWispa

Регистрация: 30.07.2014

Сообщения: 1060

Рейтинг: 452

AndreyChu сказал(а):
основная проблема с правильным заполнением массива.
Нажмите, чтобы раскрыть...

Все, я придумал: заполняем центральную строку, т.е. {1, 2, 3, 2, 1}. Потом делаем (n+1) div 2 итераций, проходя по массиву и приравнивая к номеру итерации любое число, которое больше этого номера. В итоге получаем половину нужного квадрата. Выводим еще одну верх тормашками.

FriendZone

Пользователь

Регистрация: 16.02.2014

Сообщения: 1079

Рейтинг: 203

FriendZone

Регистрация: 16.02.2014

Сообщения: 1079

Рейтинг: 203

как хорошо что я учил веб-программирование а не эти цифры, а то мозг сгорел бы (

ANSG

Пользователь

Регистрация: 21.01.2014

Сообщения: 7

Рейтинг: 0

ANSG

Регистрация: 21.01.2014

Сообщения: 7

Рейтинг: 0

в скайп добавь, nig3mare. Задание у тебя для первого курса универа. За часик сделаю.

ANSG

Пользователь

Регистрация: 21.01.2014

Сообщения: 7

Рейтинг: 0

ANSG

Регистрация: 21.01.2014

Сообщения: 7

Рейтинг: 0

Ну или же прочти про заполнение массива циклом for. Про считывание с клавиатуры через scanf и стандартные if else. этого достаточно для решения.

1.Данные на входе подаются из документа или же считывать с клавиатуры каждое значение ?
2.Необходима проверка введенных чисел ?
3.Какие операторы прошли и работали ли вы с указателями ?
А еще лучше скинь само задание. Т.к у тебя судя по всему дана по заданию перестановка в массиве а не его заполнение.

drafff

Пользователь

Регистрация: 26.06.2013

Сообщения: 8261

Рейтинг: 3093

drafff

Регистрация: 26.06.2013

Сообщения: 8261

Рейтинг: 3093

Задачка очень простая, но меня ждет вечерняя дотка и аниме

drafff

Пользователь

Регистрация: 26.06.2013

Сообщения: 8261

Рейтинг: 3093

drafff

Регистрация: 26.06.2013

Сообщения: 8261

Рейтинг: 3093

Алгоритм простой, объясню на пальцах:
в каждый элемент нужна записать минимум из четырех чисел: номер строки, номер столбца, n минус номер строки, n минус номер столбца.
Где n - число которое задается.
Тогда для первой строчки ты получишь 1,1,...,1,
Для второй 1,2,...,2,1
и т.д.

superwOw

Пользователь

Регистрация: 16.07.2014

Сообщения: 241

Рейтинг: 97

superwOw

Регистрация: 16.07.2014

Сообщения: 241

Рейтинг: 97

континиумный трансфунктор

AndreyChu

Пользователь

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

AndreyChu

Регистрация: 24.05.2014

Сообщения: 179

Рейтинг: 142

Цитата:
Ну или же прочти про заполнение массива циклом for. Про считывание с клавиатуры через scanf и стандартные if else. этого достаточно для решения.

1.Данные на входе подаются из документа или же считывать с клавиатуры каждое значение ?
2.Необходима проверка введенных чисел ?
3.Какие операторы прошли и работали ли вы с указателями ?
А еще лучше скинь само задание. Т.к у тебя судя по всему дана по заданию перестановка в массиве а не его заполнение.
Нажмите, чтобы раскрыть...



Вот оригинальное задание:
Write a program that read an integer number N (0 ≤ N ≤ 100) that correspont to the order of a Bidimentional array of integers, and build the Array according to the above example.

Input
The input consists of several integers numbers, one per line, corresponding to orders from arrays to be built. The end of input is indicated by zero (0).

Output
For each integer number of input, print the corresponding array according to the example. (the values of the arrays must be formatted in a field of size 3 right justified and separated by a space. None space must be printed after the last character of each row of the array. A blank line must be printed after each array.