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

Найти в каждой строке матрицы максимальный и минимальный элементы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из двумерного массива сделать одномерный массив, так что бы в него вошла сумма элементов строк http://www.cyberforum.ru/cpp-beginners/thread85154.html
Подскажите в чем ошибка! Вот условие "из двумерного массива сделать одномерный массив, так что бы в него вошла сумма елементов строк ( каждоя строка отдельно)" А оно считает только первую строку(((( #include<iostream.h> #include<math.h> #include<conio.h> const int n=3; void main ( )
C++ Не могу написать проги. А время сдавать уже. Выручите плиз, послезавтро зачет и нужно написать 2 проги (вроде простенькие) на Си а я пока что нубко в программировании... Вот задание: 1.Дана матрица и ее размерность A(NxM), вектор b(N) и вектор x(M). С помощью подстановки определить является ли вектор x решением уравнения Ax=b. 2.При выполнении заданий учитывать следующие требования и ограничения: 1. Размер любой входной строки не... http://www.cyberforum.ru/cpp-beginners/thread85143.html
C++ [Visual C++]strcmp()
Нужно слова, которые считываются в буфер stroka, отсортировать по алфавиту с пом. strcmp. Ошибка в том, что в условии if (strcmp( &stroka, &stroka )>0) в массивах stroka, stroka - хранится весь массив строк, а не отдельные его слова.Думаю, что ошибка в циклах. visual c++ 6.0 mfc appwizzard. Код прилагается: void CProjectDlg::OnReadF() { char Filter = "TextFile (*.txt),(*.doc) |...
Организовать ввод кириллицы в массив C++
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #define sz2 20 int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian");
C++ Файл http://www.cyberforum.ru/cpp-beginners/thread85128.html
Здравствуйте!Помогите мне решить,это последняя задача осталась(а то мне оценку на экзамене снизят) наверно, её надо реализовать в одной функции main...на языке Си В каждой строке файла содержится имя файла, находящегося в текущем каталоге. Переписать файл, удалив из него имена не существующих файлов, а для каждого существующего файла записать его размер в байтах.
C++ Удалить из списка все отрицательные элементы Постановка задачи: Составить программу, которая удаляет из списка все отрицательные элементы люди умные спасите от провала в зачете. подробнее

Показать сообщение отдельно
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.01.2010, 17:16     Найти в каждой строке матрицы максимальный и минимальный элементы
Так что на C++ писать

Добавлено через 11 минут
написал все-таки на C

Добавлено через 22 минуты
Фух сделал в стиле C:
Теперь по поводу определения клавиши:
Что бы не допустить ввода символов в матрицу, на до использовать(вызывать) перед вводом значения
функцию getch(), она возвращает код нажатой клавиши, по этому коду можно определить
пытается ли пользователь ввести цифру или букву.Код клавиши:см в табл ASCII.
Надеюсь определитель клавиши сам сделаешь.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <stdio.h>
#include <stdlib.h>         //выделение динамической памяти в стиле C
#include <conio.h>
 
void main(){
 
int Height(0);  //переменная задающая высоту матрицы
int Weight(0);  //переменная задающая ширину матрицы
 
int *matrix = NULL;            //указатель для хранения начала матрицы
 
//Вводим количество строк и стобцов
printf("input colvo st and stb\n");
scanf("%d%d",&Height,&Weight);
 
//Выделяем динамическую память под матрицу, адрес начала матрицы заносится в matrix
matrix = (int *)malloc(Height*Weight*sizeof(int));
//---------------------------------------------------------------------------------
 
 
//Ввод матрицы
for(int e = 0;e<Height;e++){
    //расматриваем массив: строку        
    for(int g = 0;g<Weight;g++){
    scanf("%d",&matrix[e*Weight+g]);
   
    }
}
 
int max=*matrix;               //максимальный
int min=*matrix;               //минимальный
 
int posMax(0);                     //позиция максимального
int posMin(0);                     //позиция минимального
 
 
//Вычисляем максисмальный и минимальный, меняем его с последним и первым
//Расматриваем по строкам
for(int i = 0;i<Height;i++){
    //расматриваем массив: строку        
    for(int j = 0;j<Weight;j++){
   
    //Проверяем на  максимальный------
    if(matrix[i*Weight+j]>max){
    max=matrix[i*Weight+j];  // это максимальный
    posMax = j;        // записываем позицию максимального
    }
 
    //Проверяем на  минимальный------
    if(matrix[i*Weight+j]<min){
    min=matrix[i*Weight+j];  // это минимальный
    posMin = j;        // записываем позицию минимального
    }
 
    //Производим перстановку------
    //Если просмотр строки закончен
    if(j==Weight-1){
    matrix[i*Weight+posMax]=matrix[i*Weight+j];     //записывае значение из конца в максимальный    
    matrix[i*Weight+j]=max;   //записываем в конец  строки максимальный
 
    matrix[i*Weight+posMin]=matrix[i*Weight+j];   //записываем значение из начала строки в минимальный  
    matrix[i*Weight+0]=min;   //записываем в начало строки минимальный
 
    }
   
 
    }
 
    //Устанваливаем что первый элемент следующей строки максимальный  и минимальный
    int nextstr=i+1;
    int nextstb=0;
    if(nextstr==Height)break;  //исключение, что бы не обратится за буфер
 
    max = matrix[nextstr*Weight+nextstb];
    posMax=0;
    min = matrix[nextstr*Weight+nextstb];
    posMin=0;
}
 
 
    //Показ на экран
    for(int p = 0;p<Height;p++){
    //расматриваем массив: строку        
    for(int g = 0;g<Weight;g++){printf("%d",matrix[p*Weight+g]);
    printf(" ");
}
    printf("\n");
    }
 
//ОСвобождаем память из под матрицы
free(matrix);
return;
 
}
 
Текущее время: 04:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru