Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269

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

16.06.2011, 20:09. Показов 2626. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2011, 20:09
Ответы с готовыми решениями:

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

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

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

39
16.06.2011, 20:28
Студворк — интернет-сервис помощи студентам

Не по теме:

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

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

Добавлено через 1 минуту
Цитата Сообщение от Nursik77 Посмотреть сообщение
Понимаю, а наша так вообще задаст уйму и ничего не обьясняет, бывало спросишь че-нить а она над этим сидит до конца урока, потом уходишь порожняком. Сейчас вспомню про те задачки, смехота
Вот вот, такое же у нас
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 20:44
Цитата Сообщение от 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
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 20:59  [ТС]
Цитата Сообщение от 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
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 21:07
Спокойно, спокойно! printf у меня просто для примера тела цикла. Вот во внутреннем цикле вместо printf (или вместе с ним, если хочется индексы в работе посмотреть) должны быть твои проверки. Внутри цикла, а не после.
Вот первый printf, там доступна только переменная i и она увеличивается от 0 до 2.
Внутри второго цикла, где второй printf, там доступны обе переменные, i и j. Но j меняется часто, а i только когда внутренний цикл заканчивается. При этом j снова с нуля и до 3 изменяется.
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 21:32  [ТС]
Цитата Сообщение от grizlik78 Посмотреть сообщение
Спокойно, спокойно!
а я то думал...

Добавлено через 18 минут
Блин что то не получается прога
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 21:44
Странно. Идея-то правильная была. С реализацией вот не очень. Новая версия есть какая-нибудь?
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 21:48  [ТС]
Цитата Сообщение от grizlik78 Посмотреть сообщение
Новая версия есть какая-нибудь?
Да вот думаю
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 21:51
Ну вот в последнем коде строки 25—39 и 43—46 не нужны. Строки 22, 23, 39, 40 засунуть во внутренний цикл. Ну а дальше по обстоятельствам.
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 22:02  [ТС]
Как то вот так вот получилось
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
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 22:04
Похоже, но не заметно, чтобы условия оказались внутри вложенного цикла. Сейчас там printf (строка 19). А ещё начальное значение минимума не задано, а должно быть. Можно как и у максимума.
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 22:10  [ТС]
Почти верно работает, только происходит почему то тока замена последнего элемента в первой строке
и первого элемента во второй
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
       
            min=a[0][0];   
            max=a[0][0];
 
           for (i=0; i<3; i++)
{
   
    for (j=0; j<4; 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();}}
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 22:14
тестовую матрицу покажи.

Добавлено через 1 минуту
И ещё. У меня во вложенном цикле были скобки. Ты их убрал, теперь страдаешь

Добавлено через 1 минуту
И вообще беда со скобками. Ладно, сейчас сам поправлю.
1
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 22:15  [ТС]
угу знаю что беда
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 22:21
Как-то так. Только оно, кажется, не очень соответствует заданию
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
#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
 
    min=a[0][0];   
    max=a[0][0];
 
    for (i=0; i<3; i++)
    {
        for (j=0; j<4; 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 ");
    }
 
    getch();
    return 0;
}
1
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
16.06.2011, 22:24  [ТС]
Цитата Сообщение от grizlik78 Посмотреть сообщение
Работает
Да ладно работает? Правильно выводит???
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
16.06.2011, 22:26
Проверяй. То сообщение — это сбой в программе был Нет больше его.
0
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
17.06.2011, 13:07  [ТС]
Цитата Сообщение от grizlik78 Посмотреть сообщение
Нет больше его

фига се
ща буду проверять

Добавлено через 14 часов 36 минут
Усё работает замечательно!
Всем большое спасибо!!!
0
В вечном поиске...
 Аватар для Nursik77
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
17.06.2011, 13:10
Rikk, а собсна чем решение grizlik78-а отличается от моего? все равно пришел к нему, из ентого следует что ты зря потратил время. В следующий раз не затевай не нужных идей
1
45 / 5 / 1
Регистрация: 10.06.2011
Сообщений: 269
17.06.2011, 13:13  [ТС]
Даа там в твоём решении просто есть функции которые мы не прохадили, вот на всякий случай будет так 2 решения
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.06.2011, 13:13
Помогаю со студенческими работами здесь

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

Кажется у меня опять вирусы
вот лог

Высота у блока или у меня опять кривые руки?
Всем добрый вечер. У меня случился казус. Как вычисляется высота блочного элемента, это я знаю. Вроде бы высота блочного элемента зависит...

Гениальный Вебпрограммист отвечает вам онлайн. Такая у меня гениальная идея
Гениальный Вебпрограммист отвечает на ваш любой вопрос онлайн. Такая у меня гениальная идея. Как вы думаете - взлетит ? Уже провёл 2...

Снова к Вам вопрос
Всем привет. Помогите пожалуйста разрулить сомнения. Как сделать так, чтобы бот чаще заходил на сайт проверять обновления? Если я не...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru