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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.72
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
#1

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

12.12.2009, 22:29. Просмотров 4154. Ответов 35
Метки нет (Все метки)

[IMG]http://s59.***********/i166/0912/c1/560164df410b.jpg[/IMG]

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

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

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

Напишите функцию, которая выводит его элементы в следующем порядке: - C++
15. Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: A1, AN, A2, AN–1, A3, AN–2, … .

Составить программу на языке С для вычисления значения функции y = f(x) при заданном значениях a, b ,c ,x. - C++
Составить программу на языке С для вычисления значения функции y = f(x) при заданном значениях a, b ,c ,x.

Разработайте программу, которая выполняет заданные действия и выводит результат в заданном формате - C++
1. Введите с клавиатуры переменные x,z (типа float), вычислите выражение res=(4.2*x-z)2/3.5 и выведите на экран результат с тремя цифрами...

Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: - C++
Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: AN-1,A0,AN-2,A1,AN-3,A2,... . #include...

35
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 23:50 #16
trueherofromad, Почему в коде у тебя n=2? n это размерность матрицы, то есть в этом случае 3
1
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:01  [ТС] #17
manfeese,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int main () {
int a[2,2],n,i,j;
a[0,0]=1;
a[0,1]=2;
a[0,2]=3;
a[1,0]=4;
a[1,1]=5;
a[1,2]=6;
a[2,0]=7;
a[2,1]=8;
a[2,2]=9;
n=3;
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]);
 return 0;
 }
Все равно выдает не то.
А код M128K145, ща протестю...

Добавлено через 4 минуты
M128K145, у меня такой формат массивов: "A[i][j]" компилятор Dev C++ не воспринимает,пишет ошибку,это так,на заметку)
P.S. Нужен именно ANSI С
0
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:02 #18
У меня все правильно работает!
0
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:03  [ТС] #19
M128K145, БЛИН! У МЕНЯ ПО ТВОЕМУ КОДУ СТОЛЬКО ошибок компилятор выдал,что я даже с ними всеми разобраться не могу!
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
13.12.2009, 00:03 #20
вот полный код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#define n 7
int main()
{
    int matr[n][n], i, j, k = 0, z = 0;
    for(i = n - 1; i >= 0; --i, z ^= z)
        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;
}
1
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:04  [ТС] #21
manfeese, можешь тогда полный код прислать, я посмотрю,плииз! А то у меня вообще не то выдает...
0
manfeese
129 / 128 / 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;
}
1
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:11  [ТС] #23
M128K145, ОГРОМНОЕ СПАСИБО! Теперь все работает! Если несложно,можешь еще рассказать для чего здесь библиотека <stdlib.h> и вообще о ней?
P.S. У нас мало написать программу, препод детально идучает,мы ее писали или нет,так что понять мне ее нужно в любом случае))

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

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

значит уже заработало) Сейчас распишу
1
manfeese
129 / 128 / 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;
 }
1
trueherofromad
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:22  [ТС] #26
manfeese, конечно мучаться должен я,а тебе большое спасибо за помощь!) Мне сам код был и не обязателен,хотя бы алгоритм) А тут весь код,я просто счастлив)

Добавлено через 2 минуты
Ошибку с библиотекой сам исправил,вот только теперь в 7-ой строке столько ошибок выдало,что я не все успел пролистать за 30 секунд
0
manfeese
129 / 128 / 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;
.....
Это заполнение матрицы
0
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;
 }
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
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;
}
1
manfeese
129 / 128 / 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};
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2009, 00:32
Привет! Вот еще темы с ответами:

Вывести все наддиагональные элементы матрицы в порядке, заданном диаграммой - C++
Помогите решить эту задачу. Дана матрица вещественных чисел x. Составить программу, которая выводит все наддиагональные элементы этой...

Напишите программу которая выводит 10 случайных чисел и распределяет их в порядке убывания. - C++
Напишите программу которая выводит 10 случайных чисел и распределяет их в порядке убывания.

Написать программу, которая считывает три предложения и выводит их в обратном порядке - C++
помогите пожалуйста со строками, нужно Написать программу, которая считывает три предложения и выводит их в обратном порядке

Составить программу, которая выводит Х, умноженное на 2 - C++
Всем привет) Перешел с паскаля на С++ только... Нужно составить программу, которая выводит Х, умноженное на 2. Пример: Вводим Х...


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
13.12.2009, 00:32
Ответ Создать тему
Опции темы

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