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

Функции, операции над двумерными массивами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ ВисуалСтудио2010. Обьединение файлов в один проект http://www.cyberforum.ru/cpp-beginners/thread747575.html
http://pastebin.com/PirzesmS Помогите пожалуйста обьеденить эти файлы в один проэкт. Я сначала написал класс Стэк и одну функцию. Потом написал бинарное дерево. Мне нужно сделать третью функцию, которая будет пользоваться этими двумя маленькими программками, то есть объединить все файлы в один проект. Почему-то, Ctrl+F5 как вспышка всплывает и исчезает, хотя проэкт вроде...
C++ Файлы. Отделить пары координат x и y, и положить в массив структур есть файл с координатами 1,0.2,3 (т.е вида float x,float y) - располагаются на каждой строке своя не получается отделить пары координат x и y, и положить в массив структур http://www.cyberforum.ru/cpp-beginners/thread747570.html
В одномерном массиве, состоящем из N вещественных элементов, вычислить: C++
Помогите пожалуйста, в С++ не соображаю совсем, очень нужно решение: В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) минимальный элемент массива; 2) сумму элементов массива, расположенных между первым и последним положительными элементами. 3) Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом — все остальные. ...
переведите код из паскаля в с++ C++
const n = 50; var arr: array of real; max: real; i,j,k: byte; begin randomize; max := 0; for i:=1 to n do begin arr := random()-0.50;
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread747548.html
не получается ввести данные из файла, ошибок нет, но при вызове функции программа вырубается, помогите пожалуйста!#include <iostream> #include <iomanip> #include <cmath> #include <locale.h> #include <conio.h> #include <stdlib.h> #include <fstream> #include <string.h> #include <sstream>
C++ Вложенные циклы. Вычислить суммарное сечение и эквивалентную замену проводов (код внутри) Доброго всем времени суток!Я делаю только первые шаги в с++. Вот задача:дано произвольное число проводов различного диаметра.Написать программу которая должна вычислить суммарное сечение и эквивалентную замену в 1,2,3,4,5,6 проводов вывести на экран все возможные варианты в соизмеримых диаметрах. Вот мой упрощенный фрагмент кода: #include <iostream> #include <iomanip> #include <math.h> ... подробнее

Показать сообщение отдельно
flesabro
Сообщений: n/a
27.12.2012, 09:29     Функции, операции над двумерными массивами
Задача : Дана матрица разрема NxM. Каждый элемент этой матрицы заменить числом , равным количеству элементов матрицы ,которые не превышают данного элемента.После этого отсортировать каждый столбец получившейся матрицы по убыванию и вывести ее на экран.
Наработки:
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
//Подключение стандартной библиотеки
#include <stdio.h>
//подключение библиотеки, в которой есть функция setlocale
#include <locale>
//функция вывода B
void B_write(int n,int m,float B[100][100])
{
    int i,j;    
    printf("матрица B\n");
    //вывод B,значение i j того элемента-количество элементов матрицы A, не превышающих значение A[i][j]
    //считая сам элемент i j 
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            if(j==m-1)
        printf("%f\n",B[i][j]);
            else printf("%f",B[i][j]);
}
//функция сортирующая столбцы матрицы B по убыванию и выводящая окончательную матрицу на экран
void finish(int n,int m,float B[100][100])
{
    int j,i,k,l;
j=0;
    float puzirek=0;
    do
    {
        for(i=0;i<n;i++)
            for(k=0;k<n;k++)
                if((B[i][j]>B[k][j])&&(i>k))
                    {
                        puzirek=B[i][j];
                        B[i][j]=B[k][j];
                        B[k][j]=puzirek;
                    }
                j++;
    }
 
    while(j!=m);
        printf("Полученная матрица\n");
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            if(j==m-1)
        printf("%f\n",B[i][j]);
            else printf("%f",B[i][j]);
    
}
//основная программа
int main()
{
    //введение переменной-основной матрицы
    float A[100][100];
    //введение переменной-матрицы, значение i j того элемента-количество элементов матрицы A, не превышающих значение A[i][j]
    //считая сам элемент i j
    float B[100][100];
    int n,m;
    int i,j,k,l;
    setlocale(LC_ALL,"Russian");
    scanf("%d\n%d",&n,&m);
//считывание А из файла
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            scanf("%f",&A[i][j]);
 
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        B[i][j]=0;
    //заполнение матрицы B
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        for(k=0;k<n;k++)
        for(l=0;l<m;l++)
                if(A[k][l]<=A[i][j])
                    B[i][j]++;
    
    B_write(n,m,B);
    finish(n,m,B);
    system("PAUSE");
}
Прошу помочь доработать , сделал в основном все но программа работает не правильно ,помогите ... надо сдать сегодня

Добавлено через 5 часов 23 минуты
Все поменял , разобрался
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
//Подключение стандартной библиотеки
#include <stdio.h>
//подключение библиотеки, в которой есть функция setlocale
#include <locale>
void vivod(int n,int m,float A[100][100])
{
    int i,j;
 
    printf("Полученная матрица\n");
    for(j=0;j<m;j++)
        for(i=0;i<n;i++)
            if(i==n-1)
        printf("%f\n",A[i][j]);
            else printf("%f",A[i][j]);
}
void obrabotka(int n,int m,float A[100][100])
{
    float puzirek=0;
    int i,j,k,zamena;
 
    zamena=n*m;
    //Условие 1 
    for(i=0;i<n;i++)    
            for(k=0;k<m;k++)
                if (A[i][k]<zamena)
                    A[i][k]=zamena;
    //Условие 2
    for(i=0;i<n;i++)
    {
            for(j=0;j<n;j++)
                if((A[i][k]>A[i][k++])&&(k<j))
                    {
                        puzirek=A[i][k];
                        A[i][k++]=A[i][k];
                        A[i][k]=puzirek;
                    }
                k++;
    }
    vivod(n,m,A);
}
void vvod()
{
    
    float A[100][100];
    int i,j,m,n;
 
    printf("Введите n ");
    scanf("%d",&n);
    printf("Введите m ");
    scanf("%d",&m);
//считывание А 
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            scanf("%f",&A[i][j]);
    obrabotka(n,m,A);
}
//основная программа
float main()
{
    setlocale(LC_ALL,"Russian");
    vvod();
    system("PAUSE");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru