1. Xaori69otori05.07.2024 в 04:08от
Загрузка...
Загрузка...

помощь в си (двумерные массивы)

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем DoCToR, 11.04.2016.

  1. DoCToR

    Design|SMM
    DoCToR

    Статус:
    Оффлайн
    Регистрация:
    08.10.11
    Сообщения:
    1.433
    Репутация:
    1.181 +/-
    Задание: Задать двумерный массив. В двумерном массиве найти строку, сумма элементов которая максимальна.
    Двумерный массив задал, а вот как найти строку в которой сумма элементов максимальна, понять не могу, подскажите как :3

    Двумерный массив задал вот так
    Код:
    #include <stdio.h>
     
    int main()
    {
      setlocale(0 , "");
      int i, j;
      int myArray[5][5]; // массив 5*5 
     
      for ( i = 0; i < 5; i++ ) {
        for ( j = 0; j < 5; j++ )
          myArray[i][j] = i * j;
      }
     
      printf( "Полученный массив:\n" );
      for ( i = 0; i < 5; i++ ) {
        for ( j = 0; j < 5; j++ )
        {
            printf( "[%d][%d]=%d ", i, j, myArray[i][j] );
        }
        printf( "\n" );
      }
      getchar();
    }
     
    Последнее редактирование: 11.04.2016
  2. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    21
    Репутация:
    2.074 +/-
    ну вообще,лучше сделать динамический массив
    чтобы пользователь вводил кол-во строк и столбцов (или хотяб просто ввёл размерность)
    Потом,сделай рандомизацию элементов через любую функцию
    например srand(time)

    Потом заполняешь ячейки массива этой функцией
    Дальше, складываешь ячейки в строках,ищешь строку где максимальный элемент (Выбираешь любую строку за макс. и сравниваешь с текущей)
     
    Последнее редактирование: 11.04.2016
  3. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    21
    Репутация:
    2.074 +/-
    и еще я не вижу где ты заполняешь массив
    i * j,это тоже не понятно
    если нужно подробнее,то отпиши в лс или скайп
     
  4. 85‰

    85‰

    Статус:
    Оффлайн
    Регистрация:
    31.12.15
    Сообщения:
    150
    Репутация:
    75 +/-
    могу на с++ написать код тебе
     
  5. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    21
    Репутация:
    2.074 +/-
    там практически не отличается синтаксис )
     
  6. DoCToR

    Design|SMM
    DoCToR

    Статус:
    Оффлайн
    Регистрация:
    08.10.11
    Сообщения:
    1.433
    Репутация:
    1.181 +/-
    Закрыто. Всем спасибо за помощь, справился сам.
     
  7. Shiroe

    Shiroe

    Статус:
    Оффлайн
    Регистрация:
    14.06.14
    Сообщения:
    25
    Репутация:
    -1 +/-
    Код:
    #include <iostream>
    #include<stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    using namespace std;
     
    int main()
    {
        int **a;
        int sum, j, i, m, n;
        cout<<"Введите кол-во строк\n";
        cin>>m;
        cout<<"Введите кол-во столбцов\n";
        cin>>n;
        a = new int* [m];
            for(i = 0; i < n; i ++)
                a[i] = new int [i];
            cout<<"Введите массив\n";
            for (i = 0; i < m; i++)
            {
                for (j = 0; j < n; j++ )
     
                cin>>a[i][j];
            }
     
            for (i = 0; i < m; i++)
            {
                for(j = 0; j < n; j++)
                    cout<<"  "<<a[i][j];
                cout<<"\n";
            }
     
     
         int maxsum = -10000000,maxstroka;
        for (j = 0; j < n; j++)
        {
            sum = 0;
            for (i = 0; i < m ; i++)
                sum = sum + a[j][i];
            if (sum>maxsum){
                maxsum = sum, maxstroka = j;
        }
     
    }
        cout << maxstroka+1;
     
            }
    
    Попробуй так ;-) немного быдлокод, но все же
     
  8. xynd

    xynd

    Статус:
    Оффлайн
    Регистрация:
    19.08.13
    Сообщения:
    1.385
    Репутация:
    813 +/-
    Читать вообще умеешь?

     
  9. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    21
    Репутация:
    2.074 +/-
    кек,вводить в 2016 каждый элемент массива )0
     
  10. Shiroe

    Shiroe

    Статус:
    Оффлайн
    Регистрация:
    14.06.14
    Сообщения:
    25
    Репутация:
    -1 +/-
    Задача судя по всему из школьной программы. Я как преподаватель по образованию - был бы рад, если бы студент/ученик в решении задача показал максимум знаний на различные функции.
     
  11. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    21
    Репутация:
    2.074 +/-
    Ну вот,Если заполнять функциями,а не по одному элементу,как раз демонстрация знаний,тем более если он динамический,а не статический )