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

Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.72
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
12.12.2009, 22:29     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #1
[IMG]http://s59.***********/i166/0912/c1/560164df410b.jpg[/IMG]

Помогите пожалуйста составить алгоритм, а в идеале еще и закодить). У меня были идеи,но они какие-то слишком длинные,вообщем не получилось пока что.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2009, 22:29     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке
Посмотрите здесь:

C++ Составить программу которая переворачивает список L, изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке
C++ написать программу, которая считывает три предложения и выводит их в обратном порядке.
C++ составить программу, которая находит максимальные элементы каждой строки двумерной матрицы A, состоящей из m строк и n столбцов
C++ Составить программу, которая выводит на экран число, получаемое, если прочитать заданное число в обратном порядке
C++ Составить программу на языке С для вычисления значения функции y = f(x) при заданном значениях a, b ,c ,x.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:04  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #21
manfeese, можешь тогда полный код прислать, я посмотрю,плииз! А то у меня вообще не то выдает...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:05     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #22
вот мой код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
 
int main () 
{
   const n=3;
   int i,j,a[n][n] = {1,2,3,
                          4,5,6,
                          7,8,9};
 
   for(i=n-1; i>=0; i--)
     for(j=0;j<n-i;j++)
        printf("%d ",a[i+j][j]);
 
   for(i=1; i<n; i++)
     for(j=0;j<n-i;j++)
        printf("%d ",a[j][j+i]);
 
   getch();
   return 0;
}
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:11  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #23
M128K145, ОГРОМНОЕ СПАСИБО! Теперь все работает! Если несложно,можешь еще рассказать для чего здесь библиотека <stdlib.h> и вообще о ней?
P.S. У нас мало написать программу, препод детально идучает,мы ее писали или нет,так что понять мне ее нужно в любом случае))

Добавлено через 2 минуты
manfeese, тоже огромное спс!
АХАХАХАХАХАХАХАХ! Не поверишь где мне в твоем коде ошибку выдало!)) На 76 строчке библиотеки conio!)) АХАХАХ
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
13.12.2009, 00:13     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #24
trueherofromad, я не понимаю, что у тебя не работает?
Вот

manfeese, забавно посмотреть на твои мучения при изменении n на 10)) и постоянно меняя n

значит уже заработало) Сейчас распишу
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:19     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #25
))))))) Думаешь мне это надо??? Я как пример привел, а автор пускай мучаеться!!!

Добавлено через 2 минуты
Цитата Сообщение от trueherofromad Посмотреть сообщение
Не поверишь где мне в твоем коде ошибку выдало!)) На 76 строчке библиотеки conio!))
В таком случае замени так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
int main () {
const n=3;
int i,j,a[n][n] = {1,2,3,
                  4,5,6,
                  7,8,9};
 
for(i=n-1; i>=0; i--)
  for(j=0;j<n-i;j++)
        printf("%d ",a[i+j][j]);
 
for(i=1; i<n; i++)
  for(j=0;j<n-i;j++)
        printf("%d ",a[j][j+i]);
 
 system("pause");
 return 0;
 }
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:22  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #26
manfeese, конечно мучаться должен я,а тебе большое спасибо за помощь!) Мне сам код был и не обязателен,хотя бы алгоритм) А тут весь код,я просто счастлив)

Добавлено через 2 минуты
Ошибку с библиотекой сам исправил,вот только теперь в 7-ой строке столько ошибок выдало,что я не все успел пролистать за 30 секунд
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:25     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #27

Не по теме:

Просто, если за авторов писать сразу весь код, то они никогда не смогут понять сути программирования, а так может хоть чтото в памяти останеться!!!



Добавлено через 2 минуты
Ладно уж! начало измени на токое: (до основных циклов)
C
1
2
3
4
5
6
7
.....
int i,j,a[n][n];
 
for(i=0;i<n;i++)
   for(j=0;j<n;j++)
      a[i][j]=n*i+j;
.....
Это заполнение матрицы
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:27  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #28
manfeese, согласен)),только вы мне нефига алгоритм не объясняли, а сразу код кидали)) Ну его я сам пойму без проблем,как только компиляцию твоей отлажу,хоть 1 рабочая и есть.
В 8-ой строк оч много ошибок,можешь объяснить почему? Вот код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 3;
 
int main () {
int i,j;
int a[3,3]={1,2,3,4,5,6,7,8,9};
for(i=n-1; i>=0; i--)
  for(j=0;j<n-i;j++)
                printf("%d ",a[i+j][j]);
 
for(i=1; i<n; i++)
  for(j=0;j<n-i;j++)
                printf("%d ",a[j][j+i]);
 
 system("pause");
 return 0;
 }
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
13.12.2009, 00:29     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #29
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>//для system()
#define n 10
int main()
{
    int matr[n][n], i, j, k = 0, z = 0;//объявление переменных
    for(i = n - 1; i >= 0; --i, z ^= z)//цикл по строкам;
    //z ^= z - аналогично z = 0, только из-за отсутствия адрессных операций работает значительно быстрее
        for(j = 0; j < n - i; ++j)//цикл по столбцам
            matr[i + z++][j] = ++k;//присваиваем нужное значение 
    for(j = 1; j < n; ++j, z ^= z)// цикл по столбцам
        for(i = 0; i < n - j; ++i)//цикл по строкам
            matr[i][j + z++] = ++k;//присваиваем нужное значение 
    for(i = 0; i < n; ++i, printf("\n"))//цикл по строкам
        for(j = 0; j < n; ++j)//цикл по столбцам
            printf("%d\t", matr[i][j]);//вывод на консоль
    system("pause");//задержка экрана
    return 0;
}
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:32     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #30
попробуй так
Код
int a[3[COLOR="Red"]][[/COLOR]3]={1,2,3,4,5,6,7,8,9};
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:34  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #31
M128K145, спасибо за объяснение обнуления z, этого я не знал и библиотеки! А остальное это лишнее я какбэ не в ПТУ учусь))
+ Я чтобы окно не закрывалось пользуюсь бат файлом,с текстом:
@echo off
имя
PAUSE

Добавлено через 2 минуты
manfeese, попробовал,спс,компилируется,только выполнение не то:
[IMG]http://i079.***********/0912/08/c596e96ab60d.jpg[/IMG]
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:41     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #32
А как объяснить данный алгоритм??? он выполняет обход матрицы по твоему принципу. Если возьмешь небольшую матрицу, 3х3 например, и проделаешь этот алгоритм вручную то поймешь как он работает. Что тут еще надо объяснять???

Добавлено через 3 минуты
а вообще используй переменную в записи массива
Код
int a[n][n]
а то где-то n изменишь, а размер массива останеться прежним, ну соответственно и ошибки будут выползать!
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:42  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #33
manfeese, спс, щас уже алгоритм объяснять не надо конечно)) Просто в начале у меня были какие-то странные идеи с ифами и прочим...
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:49     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #34
Вот все рабочее, что у меня есть, разбирай!!!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <stdlib.h>
#define n 5
 
int main () {
 
int i,j,a[n][n];
 
for(i=0;i<n;i++)
{
   for(j=0;j<n;j++)
   {
     a[i][j]=n*i+j;
     printf("%d\t",a[i][j]);
   }
  printf("\n");
}
 
printf("\n");
for(i=n-1; i>=0; i--)
  for(j=0;j<n-i;j++)
        printf("%d ",a[i+j][j]);
 
for(i=1; i<n; i++)
  for(j=0;j<n-i;j++)
        printf("%d ",a[j][j+i]);
 
 printf("\n");
 system("pause");
 return 0;
 }
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:52  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #35
Разберу)) Кстати,на лабах у нас стоят компы с НетБсд,где значения вводятся при открытии файла a.out, и мне надо будет,чтобы n изменялось в зависимости от количества введенных цифр,для этого код надо будет переделать)),вообщем это я сам сделаю)) Это так,чтоб вы не думал,что я прям злостных иждивенец))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2009, 14:44     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке
Еще ссылки по теме:

Напишите функцию, которая выводит его элементы в следующем порядке: C++
Напишите функцию, которая выводит элементы в следующем порядке: C++
Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: C++

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

Или воспользуйтесь поиском по форуму:
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
18.12.2009, 14:44  [ТС]     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке #36
manfeese,
ссори, я щас пытаюсь доработать прогу,чтобы он работала с вводимыми данными,можешь с этим помочь, а то ваши проги вроде бы на это совсем нерасчитанны(((

Вот начало программы, а как сделать,чтобы она выдовала то,что нужно, я до сих пор не врубился и твою программу переделать не получается,ХЭЛП МИ ПЛИЗ,до субботы нужно по зарез сдать,иначе до экзамена не допустят(((

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
 
int main ()
{
    int i,j,size;
    int a[10][10];
    printf ("vvedite razmernost matrici [1;10]: ");
    scanf("%ld%*[^\n]",&size);
    getchar();
 
printf ("Vvedite elementi matricu \n");
i=0;
j=0;
 for (i=0; i<size;i++) {
 for (j=0; j<size;j++) {
scanf ("%d", &a[i][j]);
}
}
 
 
printf ("\n");
 
for (i=0; i<size;i++,printf ("\n")) {
for (j=0; j<size;j++)
printf ("%d\t", a[i][j]);
}
 
printf ("\n");
 
 
А ЗДЕСЬ ДОЛЖЕН БЫТЬ ОСНОВНОЙ ЦИКЛ
Yandex
Объявления
18.12.2009, 14:44     Составить программу на языке Си,которая выводит элементы матрицы в заданном порядке
Ответ Создать тему
Опции темы

Текущее время: 06:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru