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

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

Войти
Регистрация
Восстановить пароль
 
zondex
0 / 0 / 0
Регистрация: 26.07.2009
Сообщений: 3
#1

прямоугольная матрица на С - C++

26.07.2009, 20:19. Просмотров 742. Ответов 7
Метки нет (Все метки)

В каждой строке прямоугольной матрицы определить среднее
арифметическое S ее элементов, после чего расположить в начале строки
элементы А(i,j) < S, сохранив их исходную последовательность, а в
конце строки - остальные элементы.

Заранее благодарен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2009, 20:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос прямоугольная матрица на С (C++):

Прямоугольная матрица - C++
Рассматривая каждую строку прямоугольной матрицы как вектор, найти номера векторов-строк, для которых модуль их скалярного произведения S...

Прямоугольная матрица - C++
Дана целочисленная прямоугольная матрица. вычислить: -количество срок не содержащих ни одного нулевого элемента -Максимальное значение...

Прямоугольная матрица A[N,M] - C++
Помогите составить программный код. Дано: прямоугольная матрица А, содержащая только натуральные числа. Отсортировать строки матрицы в...

Прямоугольная матрица - C++
Помогите пожалуйста: В каждом столбце прямоугольной матрицы перенести максимальный по модулю элемент в последнюю позицию столбца, сдвинув...

Прямоугольная матрица - C++
Массив 5х5 заполненный случайными целыми числами. Определить количество строк содержащих хотя бы один ненулевой элемент помогите...

прямоугольная матрица - C++
Определить наибольший элемент в каждом столбце заданной прямоугольной матрицы В. Вычислить сумму элементов 3-го столбца. помогите...

7
zondex
0 / 0 / 0
Регистрация: 26.07.2009
Сообщений: 3
26.07.2009, 20:32  [ТС] #2
Цитата Сообщение от zim22 Посмотреть сообщение
благодарность в чём выражать будете? wmz?
Это всего лишь лабараторка)


Вот мои успехи:
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <conio.h>  // Подключение библиотек, используемых в программе
#include <stdio.h>  // Справку по библиотекам можно получить нажав Ctrl-F1
#include <stdlib.h> // когда курсор находится под необходимой библиотекой
#include <math.h>   // Справка распространяется не только на библиотеки
 
 
int X[100];
int max,min,xmin;
int S1,S2;
int tmp;
 
char i,i_end,j,imin,imax;         // параметр цикла; тип char соотв. byte или char в Паскале
char n;         // количество элементов массива
char m;         // кол-во совпадающих по знаку элементов
char k,k1,k2;         // вспомогательная переменная
char ch;        // символ нажатой клавиши
FILE *F;        // исходный файл; указатель на структуру типа FILE
 
void main()     // начало основной программы
{
// Ввод и печать исходных данных
  clrscr();      // В С++ имеет значение верхний и нижний буквенные регистры
  if((F=fopen("xy.txt","rt"))==NULL) // Открытие файла в режиме чтения("r")
      {                             // в текстовом режиме
       printf("Исходный файл не найден\n Для выхода в DOS нажмите "
           "любую клавишу"); // Аналог write в Паскале;
                 // \n - escape-последовательность, перевод
                 // курсора на новую строку
       getch();
       exit(0);
      } 
 
  printf("Введите n  ");
  scanf("%d",&n); // Соответствует read в Паскале; "%d" - вводимое число
          // интерпретируется как число формата int(см. Справку)
  for(i=0;i<n;i++)          // Индексирование массивов всегда с 0
      fscanf(F,"%d",&X[i]); // Чтение производится из файла, & обозначает
                // что запись производится по адресу
  fclose(F);
  printf("Массив X   n=%d\n",n);// "%d" указывает на место, где выводится n
                // и указывает ее тип
  k=0;
  for(i=0;i<n;i++) // Цикл for, задаются начальная точка;верхняя граница; шаг
    {
      k++;         // Инкримент
      if(k<5)
    printf("%d   ",X[i]); // "%7.1f" - выводится число типа float
                 // в формате 7:1
      else
    {
      k=0;
      printf("%d\n",X[i]);
    }
    }
 
 
 
 for (j=0;j<3;j++) {
 
 if(j == 0) {i=0;  i_end=5;}
 if(j == 1) {i=6;  i_end=10;}
 if(j == 2) {i=11; i_end=15;}
 
    for(i=i;i<i_end;i++)
        S2=S2+X[i];
        S2=S2/5;
 
 
        printf("srednee %d \n",S2);
 
    }
 
 
 
 
 
while(getch()!=27);
}

Не могу сделать так эту часть задания: после чего расположить в начале строки
элементы А(i,j) < S, сохранив их исходную последовательность, а в
конце строки - остальные элементы.
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
26.07.2009, 21:11 #3
Начем с того, что в условии задачи матрица, а у тебя X[] - это массив.
Поэтому программа должна начинаться так:

C
1
2
3
#define M 10
#define N 20
int X[M][N];
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
26.07.2009, 22:03 #4
Цитата Сообщение от odip Посмотреть сообщение
, что в условии задачи матрица, а у тебя X[] - это массив.
осмелюсь напомнить, что матрица - это тот же массив. просто способ доступа к элементам немного отличается.
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
26.07.2009, 22:08 #5
Согласен, но это же задания для новичков. Раз сказано A(i,j) - значит и делай двумерный массив. Не нужно сложностей.
0
zondex
0 / 0 / 0
Регистрация: 26.07.2009
Сообщений: 3
26.07.2009, 22:25  [ТС] #6
упс, спасибо за дельное замечание, исправлю. Только мой первый вопрос остается открытым
0
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
26.07.2009, 23:00 #7
clrscr поддерживается только на компьютерах IBM PC или совместимых с ними. Функция не совместима с Windows.
Используй для очистки экрана это
C
1
    system("cls");
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
26.07.2009, 23:06 #8
2zondex: Так ждем исправленной версии твоих успехов. Только теперь с двумерной мартрицей. Ввод-вывод можно опустить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2009, 23:06
Привет! Вот еще темы с ответами:

прямоугольная матрица - C++
Дана целочисленная прямоугольная матрица. Определить: 1)количество строк, содержащих хотя бы один нулевой элемент; 2)номер столбца, в...

Прямоугольная матрица - C++
Помогите пожалуйста с задачей: Дана прямоугольная матрица. Найти строку с наименьшей и наибольшей суммой элементов. Вывести индексы строк...

Прямоугольная матрица - C++
Создать функцию для определения количества отрицательных элементов в каждой строке исходной прямоугольной матрицы.Результат функция должна...

целочисленная прямоугольная матрица - C++
Дана целочисленная прямоугольная матрица. Определить: 1)количество столбцов, содержащих хотя бы один нулевой элемент (оформить в виде...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
26.07.2009, 23:06
Ответ Создать тему
Опции темы

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