Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59

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

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

Студворк — интернет-сервис помощи студентам
[IMG]http://s59.***********/i166/0912/c1/560164df410b.jpg[/IMG]

Помогите пожалуйста составить алгоритм, а в идеале еще и закодить). У меня были идеи,но они какие-то слишком длинные,вообщем не получилось пока что.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2009, 22:29
Ответы с готовыми решениями:

Составить программу, которая запрашивает 3 числа а потом выводит их в заданном порядке
Составить программу, которая запрашивает у пользователя три целых числа, а затем выводит их через запятую в следующем порядке: ...

Составить программу, которая выводит максимальные элементы каждой строки матрицы в виде убывающей последовательности
Есть часть кода, который находит максимальные элементы каждой строки. А как сделать так, чтобы эти максимальные элементы образовывали...

Дано 3 Числа. Составить программу которая выводит их в порядке возрастания
Дано 3 Числа. Составить программу которая выводит их в порядке возрастания.

35
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:04  [ТС]
Студворк — интернет-сервис помощи студентам
manfeese, можешь тогда полный код прислать, я посмотрю,плииз! А то у меня вообще не то выдает...
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:05
вот мой код
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
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:11  [ТС]
M128K145, ОГРОМНОЕ СПАСИБО! Теперь все работает! Если несложно,можешь еще рассказать для чего здесь библиотека <stdlib.h> и вообще о ней?
P.S. У нас мало написать программу, препод детально идучает,мы ее писали или нет,так что понять мне ее нужно в любом случае))

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

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

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

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

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

Не по теме:

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



Добавлено через 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
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:27  [ТС]
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
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
13.12.2009, 00: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
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:32
попробуй так
Code
1
int a[3[COLOR="Red"]][[/COLOR]3]={1,2,3,4,5,6,7,8,9};
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:34  [ТС]
M128K145, спасибо за объяснение обнуления z, этого я не знал и библиотеки! А остальное это лишнее я какбэ не в ПТУ учусь))
+ Я чтобы окно не закрывалось пользуюсь бат файлом,с текстом:
@echo off
имя
PAUSE

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

Добавлено через 3 минуты
а вообще используй переменную в записи массива
Code
1
int a[n][n]
а то где-то n изменишь, а размер массива останеться прежним, ну соответственно и ошибки будут выползать!
1
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:42  [ТС]
manfeese, спс, щас уже алгоритм объяснять не надо конечно)) Просто в начале у меня были какие-то странные идеи с ифами и прочим...
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 00:49
Вот все рабочее, что у меня есть, разбирай!!!
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;
 }
1
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
13.12.2009, 00:52  [ТС]
Разберу)) Кстати,на лабах у нас стоят компы с НетБсд,где значения вводятся при открытии файла a.out, и мне надо будет,чтобы n изменялось в зависимости от количества введенных цифр,для этого код надо будет переделать)),вообщем это я сам сделаю)) Это так,чтоб вы не думал,что я прям злостных иждивенец))
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 59
18.12.2009, 14:44  [ТС]
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");
 
 
А ЗДЕСЬ ДОЛЖЕН БЫТЬ ОСНОВНОЙ ЦИКЛ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2009, 14:44

Составить программу, которая последовательно сортирует в порядке возрастания каждые K числа и выводит на печать
1. Даны натуральные K, N и вещественные a1,a2, . . . , aKN числа. Составить программу, которая последовательно сортирует в порядке...

Составить программу, которая находит положительные элементы массива и выводит их на экран
Нужно написать программу в Borland Delphi 7. Составить программу,которая находит положительные элементы массива и выводит их на экран. ...

Составить программу, которая выводит четные элементы двумерного массива и находит их количество
Составить программу которая выводит четные элементы двумерного массива. находит их количество. Массив задается случайным образом, для...

Составить программу, которая выводит таблицу из 6 элементов, печатает отличные от нуля элементы и их количество
Составить программу которая выводит таблицу из 6 элементов печатает отличной от нуля элементы и их количество

Составить п/п, которая в данной строке целочисленной матрицы переставляет элементы в обратном порядке
Хотелось бы узнать у профессионалов, в чем заключается ошибка при билде: Linking... Text3.obj : error LNK2001: unresolved external...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru