Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2021, 19:42   #1
Macc_cot
Пользователь
 
Регистрация: 26.03.2021
Сообщений: 18
По умолчанию Нужен код на С. Задачка в описании

Значение элементов массива задавать с клавиатуры.
Дано целочисленную матрицу А размерности nxm. В ней 2 крупнейших элемента заменить нулями.
рррррр.PNG
Macc_cot вне форума Ответить с цитированием
Старый 25.09.2021, 21:22   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Можно было, наверное, и покороче. Но зачем ?
Код:
#include <stdio.h>
int main()
{
  int a[2][3]; // массив из 3 строк и 2 столбцов
  int i, j, mx, i1, j1, i2, j2;
  // Ввод элементов массива
  for (i = 0; i<3; i++)  // цикл по строкам
  {
    for (j = 0; j<2; j++) // цикл по столбцам
    {
      printf("a[%d][%d] = ", i, j);
      scanf("%d", &a[i][j]);
    }
  }
  // Вывод элементов массива
  for (i = 0; i<3; i++)  // цикл по строкам
  {
    for (j = 0; j<2; j++) // цикл по столбцам
    {
      printf("%d ", a[i][j]);
    }
    printf("\n"); // перевод на новую строку
  }

// Поиск первого наибольшего
  mx = -2147483648;  i1 = 0; j1 = 0;
  for (i = 0; i<3; i++)  // цикл по строкам
  {
    for (j = 0; j<2; j++) // цикл по столбцам
    {
      if (a[i][j] > mx) 
         { mx = (a[i][j]; i1 = i; j1 = j; } 
    }
  }  
// Поиск второго наибольшего
  mx = -2147483648 ;  i2 = i1 ; j2=j1 ; 
  for (i = 0; i<3; i++)  // цикл по строкам
  {
    for (j = 0; j<2; j++) // цикл по столбцам
    {
      if ( (a[i][j] > mx) && (i != i1) && (j != j1)
         { mx = (a[i][j]; i2 = i ; j2 = j ; } 
    }
  }  
//
  a[i1][j1] = 0;
  a[i2][j2] = 0;
// Вывод элементов массива
  for (i = 0; i<3; i++)  // цикл по строкам
  {
    for (j = 0; j<2; j++) // цикл по столбцам
    {
      printf("%d ", a[i][j]);
    }
    printf("\n"); // перевод на новую строку
  }
  getchar(); getchar();
  return 0;
Всё это можно было взять на https://prog-cpp.ru/c-massiv/ и чуть-чуть "доаботать напильником" .

Последний раз редактировалось digitalis; 26.09.2021 в 10:02.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужен код на С задачки которая будет в описании. Macc_cot Общие вопросы C/C++ 1 16.04.2021 12:23
4 задачи все в описании 9lryap Помощь студентам 1 02.05.2017 09:23
использование .h файлов в описании класса С++ shir994 Помощь студентам 0 03.03.2012 00:02
Задачка, нужен ответ на вопрос А jamesscreen Свободное общение 1 15.08.2009 18:58
Нужна помощь в описании области quake1 Помощь студентам 2 05.12.2007 09:55