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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
#1

Опять у меня к Вам вопрос - C++

16.06.2011, 20:09. Просмотров 1297. Ответов 39
Метки нет (Все метки)

Дана матрица 3 на 4
поменять во всей матрице максимальный и минимальный элемент
Я тут свой код составил, на таком языке, на котором нас учили, вот что получилось
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
33
34
35
36
#include <stdio.h>
main()
{ int a[3][4], i, j, min, max, t, k, n, l, r;
printf (" \n vvesti matricu: \n ");
for(i=1;i<=3;i++){
for(j=1;j<=4;j++)
scanf(" %d ", &a[i][j]);}
max=a[1][1];
 
{m1: if (max < a[i][j])
{max=a[i][j];k=i;n=j;}
i++;
if (i<=3) goto m1;
i=1; j++;
if (j<=4)goto m1;}
 
min=a[i][j];
{m2: if (min > a[i][j])
{min=a[i][j]; l=i; r=j;}
 
 
i++;
if (i<=3) goto m2;
i=1; j++;
if (j<=4)goto m2;}
 
t=a[k][n];
a[k][n]=a[l][r];
a[l][r]=t;
 
printf (" new matrica \n");
for(i=1;i<=3;i++){
for(j=1;j<=4;j++)
printf (" %d ", a[i][j]);
printf (" \n ");}
return getch();}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2011, 20:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Опять у меня к Вам вопрос (C++):

У меня вопрос - C++
Почему прога не вычисляет максимальный и минимальный элемент в матрице? Пишет не так Код вроде бы верен, а толку от этого нет ...

Дайте ссылку или пример на интересующий меня вопрос. - C++
//Мне нужно сохранить информацию в массив структур FRAGMENT. //Сруктура выглит так: struct FRAGMENT { int counter; //...

У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. - C++
У меня вопрос по классам. На приложенных картинках я выделил непонятные строки. Строка 9. Переменная int age объявляется в строке 9?...

Составить программу которая при введеном количестве лет выдает сообщени вам n лет,вам n год или года - C++
Составить программу которая при введеном количестве лет выдает сообщение вам n лет,вам n год или года

Тяжело ли Вам программировать на C++? - C++
Тяжело ли Вам программировать на с++?:rofl:

Как вам такая это? - C++
Известны циклические двусвязные списки. А если закольцеваь ортогонально по двум парам указателей?

39
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
16.06.2011, 20:21 #16
с goto даже смотреть на это нет смысла. Из-за него могут возникать ошибки , которые кроме как дизасмом хрен отловишь. Порыщи по форуму, точно таких же заданий до тебя штук пятьсот тем было создано
0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 20:22  [ТС] #17
Цитата Сообщение от grizlik78 Посмотреть сообщение
Непонятно зачем организовывать цикл через goto, когда в языке есть циклы почти на любой вкус.
Ну нам тока в методички, которую наш завкаф написал только goto есть, сказали этого нам достаточно
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 20:23 #18

Не по теме:

Цитата Сообщение от Rikk Посмотреть сообщение
Нас молодая преподша учит, вот что знает она нам дала, а остальное вот делаю или сам, или по нету информацию ищу
Ну ты как сам научишься — научи её, как правильно



Добавлено через 42 секунды
Цитата Сообщение от Rikk Посмотреть сообщение
Ну нам тока в методички, которую наш завкаф написал только goto есть, сказали этого нам достаточно
Дык у тебя же есть в коде нормальные циклы. Готу-то зачем?
0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 20:24  [ТС] #19
Цитата Сообщение от grizlik78 Посмотреть сообщение
Ну ты как сам научишься — научи её, как правильно
Да я потихоньку опыта и набираюсь
Теперь вот бы экзамен пережить

Добавлено через 39 секунд
Цитата Сообщение от grizlik78 Посмотреть сообщение
Готу-то зачем?
Т.е. этого вообще не нужно так?
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 20:27 #20
И пока переправляешь, отступы расставь, пожалуйста. Чтобы блоки в условиях или циклах отличались друг от друга отступом. Самому же понятнее будет.

Добавлено через 1 минуту
Цитата Сообщение от Rikk Посмотреть сообщение
Т.е. этого вообще не нужно так?
Люди годами ломают головы, чтобы найти-таки пример, когда применение goto оправдано. Но это явно не твой случай
0
Nursik77
16.06.2011, 20:28
  #21

Не по теме:

Цитата Сообщение от Rikk Посмотреть сообщение
Нас молодая преподша учит, вот что знает она нам дала, а остальное вот делаю или сам, или по нету информацию ищу
Понимаю, а наша так вообще задаст уйму и ничего не обьясняет, бывало спросишь че-нить а она над этим сидит до конца урока, потом уходишь порожняком. Сейчас вспомню про те задачки, смехота

0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 20:38  [ТС] #22
Цитата Сообщение от grizlik78 Посмотреть сообщение
о это явно не твой случай
а за место гото тогда что использовать?
Я вот этого не знаю, а так остальное сделал

Добавлено через 1 минуту
Цитата Сообщение от Nursik77 Посмотреть сообщение
Понимаю, а наша так вообще задаст уйму и ничего не обьясняет, бывало спросишь че-нить а она над этим сидит до конца урока, потом уходишь порожняком. Сейчас вспомню про те задачки, смехота
Вот вот, такое же у нас
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 20:44 #23
Цитата Сообщение от Rikk Посмотреть сообщение
а за место гото тогда что использовать?
Я вот этого не знаю, а так остальное сделал
Ну так ты же циклы ими организовывал. Вот циклами настоящими и надо пользоваться. Типа такого
C
1
2
3
4
5
6
7
8
for (i=0; i<3; i++)
{
    printf("i = %d\n", i);
    for (j=0; j<4; j++)
    {
        printf(" j = %d\n", j);
    }
}
1
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 20:59  [ТС] #24
Цитата Сообщение от grizlik78 Посмотреть сообщение
Типа такого
Ничего себе, даже так можно

Добавлено через 12 минут
А вот так вот? Правда не пашет
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
main()
{ int a[3][4], i, j, min, max, t, k, n, l, r;
       // Vvod massiva
       printf (" \n vvesti matricu: \n ");
       for(i=0;i<3;i++){
            for(j=0;j<4;j++)
       scanf(" %d ", &a[i][j]);}
      // Reshenie
       
               
            max=a[0][0];
 
           {for (i=0; i<3; i++)
{
    printf("i = %d\n", i);
    for (j=0; j<4; j++)
    {
        printf(" j = %d\n", j);
    }
}
          if (max < a[i][j])
       {max=a[i][j];k=i;n=j;    }
                                    }
       i++;
            if (i<=3)
            i=1; j++;
                         if (j<=4)
 
                         min=a[i][j];
           {for (i=0; i<3; i++)
 
    printf("i = %d\n", i);
    for (j=0; j<4; j++)
    {
        printf(" j = %d\n", j);
    }
}    
           if (min > a[i][j])
           {min=a[i][j]; l=i; r=j;     }
 
 
           i++;
           if (i<=3) 
           i=1; j++;
           if (j<=4)
 
           t=a[k][n];
           a[k][n]=a[l][r];
              a[l][r]=t;
         // Vyvod
           printf (" new matrica \n");
            for(i=0;i<3;i++){
              for(j=0;j<4;j++)
               printf (" %d ", a[i][j]);
                 printf (" \n ");}
           return getch();}
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 21:07 #25
Спокойно, спокойно! printf у меня просто для примера тела цикла. Вот во внутреннем цикле вместо printf (или вместе с ним, если хочется индексы в работе посмотреть) должны быть твои проверки. Внутри цикла, а не после.
Вот первый printf, там доступна только переменная i и она увеличивается от 0 до 2.
Внутри второго цикла, где второй printf, там доступны обе переменные, i и j. Но j меняется часто, а i только когда внутренний цикл заканчивается. При этом j снова с нуля и до 3 изменяется.
0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 21:32  [ТС] #26
Цитата Сообщение от grizlik78 Посмотреть сообщение
Спокойно, спокойно!
а я то думал...

Добавлено через 18 минут
Блин что то не получается прога
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 21:44 #27
Странно. Идея-то правильная была. С реализацией вот не очень. Новая версия есть какая-нибудь?
0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 21:48  [ТС] #28
Цитата Сообщение от grizlik78 Посмотреть сообщение
Новая версия есть какая-нибудь?
Да вот думаю
0
grizlik78
Эксперт С++
1974 / 1467 / 122
Регистрация: 29.05.2011
Сообщений: 3,034
16.06.2011, 21:51 #29
Ну вот в последнем коде строки 25—39 и 43—46 не нужны. Строки 22, 23, 39, 40 засунуть во внутренний цикл. Ну а дальше по обстоятельствам.
0
Rikk
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 266
16.06.2011, 22:02  [ТС] #30
Как то вот так вот получилось
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
33
34
35
36
37
38
39
40
#include <stdio.h>
main()
{ int a[3][4], i, j, min, max, t, k, n, l, r;
       // Vvod massiva
       printf (" \n vvesti matricu: \n ");
       for(i=0;i<3;i++){
            for(j=0;j<4;j++)
       scanf(" %d ", &a[i][j]);}
      // Reshenie
       
               
            max=a[0][0];
 
           {for (i=0; i<3; i++)
{
    printf("i = %d\n", i);
    for (j=0; j<4; j++)
    
        printf(" j = %d\n", j);
    
}
          if (max < a[i][j])
           {max=a[i][j];k=i;n=j;}    
                                        
           if (min > a[i][j])
           {min=a[i][j]; l=i; r=j;     }
 
 
           
 
           t=a[k][n];
           a[k][n]=a[l][r];
              a[l][r]=t;
             // Vyvod
           printf (" new matrica \n");
            for(i=0;i<3;i++){
              for(j=0;j<4;j++)
               printf (" %d ", a[i][j]);
                 printf (" \n ");}
               return getch();}}
Добавлено через 2 минуты
16 и 19 строки не нужны в принципе
0
16.06.2011, 22:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2011, 22:02
Привет! Вот еще темы с ответами:

Ребята большая просьба к вам - C++
Может знает кто с помощью чего можно открыть файл формата .may ?

Как вам моя идея? - C++
Собираюсь делать какую нибудь программу. Вот идея такая(программа для нас программистов): программа для создания матрицы, будут что то типо...

Опять текстуры - C++
Я,наверное,всех уже достал с текстурами)Но всё же вот фрагменты кода рисовка цилиндра с текстурой glEnable(GL_TEXTURE_2D); barkn=0; ...

Опять ошибка - C++
Идет ошибка сегментации, а я в программировании не так силен, понять не могу в чем проблема... (+ Выдает ошибки, когда количество...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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