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

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

Восстановить пароль Регистрация
 
naika
0 / 0 / 0
Регистрация: 25.03.2010
Сообщений: 27
12.04.2010, 16:34     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. #1
3. Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент.
Люди,помогите написать прогу...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2010, 16:34     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент.
Посмотрите здесь:

C++ Найти наименьший элемент матрицы и записать нули в ту строку и столбец, где он находится
Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что массив просматривается слева направо и сверху вниз. C++
Найти максимальный элемент главной диагонали матрицы, поменять местами строку/столбец, где он находится C++
Из матрицы удалить строку и столбец, в которых находится первый элемент, равный нулю C++
C++ В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент
C++ Матрица. Поменять местами первую с той строкой, где находится минимальный элемент
Написать программу, вставляющую перед каждым столбцом массива, содержащим элемент X, нулевой столбец C++
C++ Из двумерного массива удалить строку и столбец на пересечении которых находится минимальный элемент
C++ Массивы. Вставить новую строку после строки, в которой находится первый встречный минимальный элемент
Вставить новую строку после строки, в которой находится первый встречный минимальный элемент C++
Вставте в массив после строки, первый элемент которой отрицателен, нулевую строку C++
Столбец, содержащий минимальный элемент, поменять местами с последним столбцом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
12.04.2010, 18:11     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. #2
Извините, что значит
первый минимальный элемент.
???
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.04.2010, 19:53     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. #3
romex:
Объясню на простом массиве.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
int main(){
int mas[10] = {2,-2,3,4,-2,6,7,8,9,9};
//Первый минимальны [1] - находится здесь.
//Его найти можно простым алгоритмом.
int min = mas[0];
int p_min = 0;
for( int i = 0; i<10;i++)
           if(mas[i]<min){
           min=mas[i];
           p_min = i;                       
}
printf("%d ",mas[p_min]);
printf("\n");
getch();
return 0;
}
Надеюсь понятно.
romex
 Аватар для romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
13.04.2010, 07:59     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. #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
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
#include<stdio.h>
#include<stdlib.h>
int main(){
    int si,sj,i,j,**s,min=1000000,minx,miny;
    FILE*fd=fopen("input.txt","r");
    if(fd==NULL){
        perror("Ошибка fopen");
        exit(1);
    }
    fscanf(fd,"%d %d",&si,&sj); //читаем размер матрицы
    si++;
    sj++;
    //выделяем память и читаем матрицу
    s=(int**)malloc(sizeof(int*)*(si));
    for(i=0;i<si;i++){
        s[i]=(int*)malloc(sizeof(int)*sj);
        if(i==si-1)break;
        for(j=0;j<sj-1;j++)
            fscanf(fd,"%d",s[i]+j);
    }
    fclose(fd);
    //находим минимальный элемент(1-ый)
    for(i=0;i<si-1;i++){
        for(j=0;j<sj-1;j++){
            if(min>s[i][j]){
                min=s[i][j];
                minx=i;
                miny=j;
            }
        }
    }
    printf("input matrix:\n");
    for(i=0;i<si;i++){
        printf("\n");
        for(j=0;j<sj;j++){
            printf("%d ",s[i][j]);
        }
    }
    //вставляем нулевые столбец и строку
    for(i=si-1;i!=minx;i--){
        for(j=0;j<sj-1;j++){
            s[i][j]=s[i-1][j];
        }
    }
    for(j=sj-1;j!=miny;j--){
        for(i=0;i<si;i++){
            s[i][j]=s[i][j-1];
        }
    }
    for(i=0;i<si;i++){
        s[i][miny]=0;
    }
    for(j=0;j<sj;j++){
        s[minx][j]=0;
    }
    printf("output matrix:\n");
    for(i=0;i<si;i++){
        printf("\n");
        for(j=0;j<sj;j++){
            printf("%d ",s[i][j]);
        }
    }
    printf("\n");
    return 0;
};
пример файла input.txt:
3 4
2 4 6 3
6 1 9 1
3 2 1 1
Yandex
Объявления
13.04.2010, 07:59     Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент.
Ответ Создать тему
Опции темы

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