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

с++ задачи на массивы и матрицы - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 81, средняя оценка - 5.00
Dashenka_2009
2 / 2 / 0
Регистрация: 13.05.2009
Сообщений: 16
13.05.2009, 09:10     с++ задачи на массивы и матрицы #1
Люди помогите плиззззз:'( завтра уже сдавать надо)):'(
последняя надежда на вас

1. В одномерном массиве состоящем из n вещественных элементов (размерность задается именованной константой), вычислить:
- максимальный элемент массива
- сумма элементов массива, расположенных до последнего положительного элемента
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. Освободившиеся в конце элементы заполнить нулями.

2. Дана целочисленная прямоугольная матрица. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов.

самое беспонтовое что я в массива ничего не понямаю(((:'(
кто чем может помогиитее!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2009, 09:10     с++ задачи на массивы и матрицы
Посмотрите здесь:

C++ задачи на C++, на массивы
Массивы - задачи C++
с++ задачи на массивы и мартицы C++
Задачи на массивы C++
Массивы(задачи) C++
Задачи на массивы в С++ C++
C++ Задачи на массивы С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gusca
5 / 5 / 0
Регистрация: 17.08.2009
Сообщений: 168
18.08.2009, 18:03     с++ задачи на массивы и матрицы #61
Фенрир, можеш подсказать где помилка в коде я ее запускаю она вибивает помилку:

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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
struct Student
{
        char fName[20];
        char lName[20];
        char group[30];
        float midMark;
};
std::istream& operator>>(std::istream& in, Student &stud) - в цоиу рядку 2 помилки
{
        std::cout<<"Last Name\n> ", in>>stud.lName;
        std::cout<<"First Name\n> ", in>>stud.fName;
        std::cout<<"Group:\n> ", in>>stud.group;
        std::cout<<"Middle Mark\n> ", in>>stud.midMark;
        return in;
}
std::ostream& operator<<(std::ostream& out, Student &stud)
{
        std::cout<<"Last Name\n> ", out<<stud.lName;
        std::cout<<"\nFirst Name\n> ", out<<stud.fName;
        std::cout<<"\nGroup:\n> ", out<<stud.group;
        std::cout<<"\nMiddle Mark\n> ", out<<stud.midMark;
        return out;
}
int main()
{
        const int n = 5;
        Student pointer[n];
        int i;
        for(i = 0; i < n; ++i)
                std::cout<<"\nStudent # "<<i+1<<std::endl,
                std::cin>>pointer[i];
 
        int index(0);
        float min = pointer[0].midMark;
        for(i = 0; i < n; ++i)
        {
                if(min > pointer[i].midMark)
                {
                        index = i;
                        min = pointer[i].midMark;
                }
        }
        std::cout<<"\nRezult:\n"<<pointer[index]<<'\n';
        system("pause");
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
18.08.2009, 18:31     с++ задачи на массивы и матрицы #62
C++
1
2
  
   std::cout<<"Last Name\n> "  [B] ; [/B] in>>stud.lName;
всюду так
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
18.08.2009, 21:15     с++ задачи на массивы и матрицы #63
Прива всем помогите ктото зделать прграму на тему "Програмування операцій з двовимірними масивами"

Задача
У матриці А(mxn) знайти кількість та суму парних елементів.
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
18.08.2009, 22:57     с++ задачи на массивы и матрицы #64
Цитата Сообщение от Фенрир Посмотреть сообщение
C++
1
std::cout<<"Last Name\n> "  [B] ; [/B] in>>stud.lName;
всюду так
А теперь - правильный ответ (: by Rififi
gusca пользуется TurboC++, а я писал код под VS. Поэтому ни о каких std:: речи быть не может.
Фенрир, знак ',' - означает псевдопараллельность, поэтому ошибки там не может быть. Сравни с этим кодом, который у gusca
будет работать
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
#include<iostream.h>
struct Student
{
    char fName[20];
    char lName[20];
    char group[30];
    float midMark;
};
istream& operator>>(istream& in, Student &stud)
{
    cout<<"Last Name\n> ", in>>stud.lName;
    cout<<"First Name\n> ", in>>stud.fName;
    cout<<"Group:\n> ", in>>stud.group;
    cout<<"Middle Mark\n> ", in>>stud.midMark;
    return in;
}
ostream& operator<<(ostream& out, Student &stud)
{
    cout<<"Last Name\n> ", out<<stud.lName;
    cout<<"\nFirst Name\n> ", out<<stud.fName;
    cout<<"\nGroup:\n> ", out<<stud.group;
    cout<<"\nMiddle Mark\n> ", out<<stud.midMark;
    return out;
}
int main()
{
    const int n = 5;
    Student pointer[n];
    int i;
    for(i = 0; i < n; ++i)
        cout<<"\nStudent # "<<i+1<<endl,
        cin>>pointer[i];
    int index(0);
    float min = pointer[0].midMark;
    for(i = 0; i < n; ++i)
        if(min > pointer[i].midMark)
        {
            index = i;
            min = pointer[i].midMark;
        }
    cout<<"\nRezult:\n"<<pointer[index]<<'\n';
    cin.get();
    cin.get();
        return 0;
}

gorin, пробегись по форуму, примеров достаточно, особенно здесь и здесь
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
19.08.2009, 10:40     с++ задачи на массивы и матрицы #65
Люди помогитте с лабами я по ссилкам сотрел родходящей задасчи нету!!!!!!

Помогите две лабы зделать:
Задача
У матриці А(mxn) знайти кількість та суму парних елементів.
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
19.08.2009, 10:42     с++ задачи на массивы и матрицы #66
просто матрица
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
int main()
{
    setlocale (LC_ALL, "Russian");
    const int n(3), m(3);
    int i, j;
    std::cout<<"Введите матрицу размерностью "<<n<<'x'<<m<<":\n";
    int matr[n][m];
    for (i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            std::cin>>matr[i][j];
    system("cls");
    std::cout<<"Введенная матрица:\n";
    for(i = 0; i < n; ++i, std::cout<<'\n')
        for(j = 0; j < m; ++j)
            std::cout<<matr[i][j]<<' ';
    int count(0), sum(0);
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            if(!(matr[i][j]&1))
            {
                sum += matr[i][j];
                count++;
            }
    std::cout<<"Результат:\nКоличество: "<<count<<"\nСумма: "<<sum<<'\n'; 
    system("pause");
    return 0;
}

динамическая матрица
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
int main()
{
    setlocale (LC_ALL, "Russian");
    int n, m, i, j;
    std::cout<<"Введите размерность:\nn = ", std::cin>>n, std::cout<<"m = ", std::cin>>m; 
    int **matr = new int*[n];
    for(i = 0; i < n; ++i)
        matr[i] = new int[m];
    std::cout<<"Введите матрицу размерностью "<<n<<'x'<<m<<":\n";
    for (i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            std::cin>>matr[i][j];
    system("cls");
    std::cout<<"Введенная матрица:\n";
    for(i = 0; i < n; ++i, std::cout<<'\n')
        for(j = 0; j < m; ++j)
            std::cout<<matr[i][j]<<' ';
    int count(0), sum(0);
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            if(!(matr[i][j]&1))
            {
                sum += matr[i][j];
                count++;
            }
    std::cout<<"Результат:\nКоличество: "<<count<<"\nСумма: "<<sum<<'\n';
    for(i = 0; i < n; ++i)
        delete []matr[i];
    delete []matr; 
    system("pause");
    return 0;
}


Добавлено через 1 минуту 26 секунд
По форуму надо искать не подходящую задачу, а похожую, которая поможет реализовать, а не в которой все реализовано
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
19.08.2009, 10:46     с++ задачи на массивы и матрицы #67
M128K145 помоги зделать мне через два дня на екзамен осталось 4 лабы, помоги плиз
gusca
5 / 5 / 0
Регистрация: 17.08.2009
Сообщений: 168
19.08.2009, 13:09     с++ задачи на массивы и матрицы #68
M128K145,
помоги написать блок схему к етому коду
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
#include<iostream.h>
struct Student
{
        char fName[20];
        char lName[20];
        char group[30];
        float midMark;
};
istream& operator>>(istream& in, Student &stud)
{
        cout<<"Last Name\n> ", in>>stud.lName;
        cout<<"First Name\n> ", in>>stud.fName;
        cout<<"Group:\n> ", in>>stud.group;
        cout<<"Middle Mark\n> ", in>>stud.midMark;
        return in;
}
ostream& operator<<(ostream& out, Student &stud)
{
        cout<<"Last Name\n> ", out<<stud.lName;
        cout<<"\nFirst Name\n> ", out<<stud.fName;
        cout<<"\nGroup:\n> ", out<<stud.group;
        cout<<"\nMiddle Mark\n> ", out<<stud.midMark;
        return out;
}
int main()
{
        const int n = 5;
        Student pointer[n];
        int i;
        for(i = 0; i < n; ++i)
                cout<<"\nStudent # "<<i+1<<endl,
                cin>>pointer[i];
        int index(0);
        float min = pointer[0].midMark;
        for(i = 0; i < n; ++i)
                if(min > pointer[i].midMark)
                {
                        index = i;
                        min = pointer[i].midMark;
                }
        cout<<"\nRezult:\n"<<pointer[index]<<'\n';
        cin.get();
        cin.get();
        return 0;
}
gorin
 Аватар для gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
19.08.2009, 15:42     с++ задачи на массивы и матрицы #69
Прива всем, Пацаны помогите лабу 21 зделать.
Тема: Программирование операций из массивом структур.
Задание: Ввести перелік студентів, які не склали другий та третій іспити.
ISergey
19.08.2009, 16:07
  #70

Не по теме:

Цитата Сообщение от gorin Посмотреть сообщение
Задание: Ввести перелік студентів, які не склали другий та третій іспити.
Код
1. gorin
2. ...
...

insolent
19.08.2009, 16:18
  #71

Не по теме:

...
2. gusca
...

gusca
5 / 5 / 0
Регистрация: 17.08.2009
Сообщений: 168
19.08.2009, 19:34     с++ задачи на массивы и матрицы #72
M128K145,


помоги написать блок схему к етому коду
Код C++

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
#include<iostream.h>
struct Student
{
        char fName[20];
        char lName[20];
        char group[30];
        float midMark;
};
istream& operator>>(istream& in, Student &stud)
{
        cout<<"Last Name\n> ", in>>stud.lName;
        cout<<"First Name\n> ", in>>stud.fName;
        cout<<"Group:\n> ", in>>stud.group;
        cout<<"Middle Mark\n> ", in>>stud.midMark;
        return in;
}
ostream& operator<<(ostream& out, Student &stud)
{
        cout<<"Last Name\n> ", out<<stud.lName;
        cout<<"\nFirst Name\n> ", out<<stud.fName;
        cout<<"\nGroup:\n> ", out<<stud.group;
        cout<<"\nMiddle Mark\n> ", out<<stud.midMark;
        return out;
}
int main()
{
        const int n = 5;
        Student pointer[n];
        int i;
        for(i = 0; i < n; ++i)
                cout<<"\nStudent # "<<i+1<<endl,
                cin>>pointer[i];
        int index(0);
        float min = pointer[0].midMark;
        for(i = 0; i < n; ++i)
                if(min > pointer[i].midMark)
                {
                        index = i;
                        min = pointer[i].midMark;
                }
        cout<<"\nRezult:\n"<<pointer[index]<<'\n';
        cin.get();
        cin.get();
        return 0;
}
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
19.08.2009, 20:48     с++ задачи на массивы и матрицы #73
где-то так
с++ задачи на массивы и матрицы
Я никогда этим не занимался, так что если что не так - исправте кто знает лучше
gusca
5 / 5 / 0
Регистрация: 17.08.2009
Сообщений: 168
20.08.2009, 10:02     с++ задачи на массивы и матрицы #74
M128K145,

Тема: Передача масивів у функцію.
Теоретичні відомості:
При використанні в якості параметра масиву у функцію передається вказівник на його перший елемент, тобто масив завжди передається за адресою. При цьому інформація про кількість елементів масиву втрачається, і необхідно передавати його розмірність через окремий параметр.

#include <iostream.h>
int sum(const int* mas, const int n);
int const n = 10;
int main(){
int marks[n] = {3, 4, 5. 4, 4};
cout << "Сума елементів масиву: "<< sum(marks, n);
return 0;
}
int sum(const int* mas, const int n){
// варіанти: int sum(int mas[], int n)
// або int sum(int mas[n], int n)
// (величина n має бути константою)
int s = 0;
for (int i = 0; i<n; i++) s += mas[i];
return s;
}

Індивідуальне завдання
Виконати завдання лабораторних робіт №13 (Програмування операцій з одновимірними масивами) і №16 (Програмування операцій з двовимірними масивами) в одному файлі, оформивши кожне завдання у вигляді функції. Всі необхідні дані для функцій повинні передаватись їм у якості параметрів. Використання глобальних змінних у функціях не допускається.

Код програми 13 лаби:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{
clrscr();
const int n=10;
int n[10]={2,5,0,-20,-5,9,0,13,-6,25};
int min=0;
int sum=0;
int count=0;
for(int i=0;i<10;i++)
{
if(n[i]==0) count++;
if(n[i]<n[min]) min=i;} for(i=min+1;i<10;i++)
{
sum+=n[i];
cout<<"kilkist elem. mas., cho rivni nulu: "<<count<<endl;
cout<<"Suma elementiv masivu, cho roztachovani pisl. min. elem.: "<<sum<<endl;
getch(); return 0;
}
}
Код програми 16 лаби:

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
#include<iostream.h>
#include<math.h>
#include<conio.h>
int main()
{
const int n=3,m=3;
int i,j,count=0;
float matr[n][m]={1, 0, 1, 0, 1, 0, 1, 0, 1};
float mid=0;
for(i=0;i<n;++i,cout<<'\n')
for(j=0;j<m;++j)
{
mid+=matr[i][j];
cout<<matr[i][j]<<' ';
}
mid/=(n * m);
for(i=0;i<n;++i)
for(j=0;j<m;++j)
if(!matr[i][j])
{
count++;
matr[i][j]=mid;
}
cout<<"\nRezyl'tat:\n";
for(i=0;i<n;++i, cout<<'\n')
for(j=0;j<m;++j)
cout<<matr[i][j]<<' ';
cout<<"\nKolicgestvo nylei:\n"<<count;
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2009, 10:58     с++ задачи на массивы и матрицы
Еще ссылки по теме:

C++ Задачи на массивы
Задачи на двумерные массивы C++
C++ Задачи на массивы

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

Или воспользуйтесь поиском по форуму:
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
20.08.2009, 10:58     с++ задачи на массивы и матрицы #75
Цитата Сообщение от gusca Посмотреть сообщение
for(i=min+1;i<10;i++)
{
sum+=n[i];
cout<<"kilkist elem. mas., cho rivni nulu: "<<count<<endl;
cout<<"Suma elementiv masivu, cho roztachovani pisl. min. elem.: "<<sum<<endl;
getch(); return 0;
}
Откомпилируй этот кусок кода. У тебя 9 - min раз будет выводится сообщение(если программа вообще откомпилируется)
kilkist elem. mas., cho rivni nulu:
"Suma elementiv masivu, cho roztachovani pisl. min. elem.: "
Здесь скобки тоже играют свою роль и их нельзя ставить где угодно. Должно быть вот так
C++
1
2
3
4
for(i=min+1;i<10;i++)
{
sum+=n[i];
}
Далее, ты знаеш что такое Multiple declaration(redefinition)?
C++
1
2
const int n=10;
int n[10]={2,5,0,-20,-5,9,0,13,-6,25};
Похоже, что ты о таком и не догадывался
Далее, зачем обьявляеш константную размерность n но при этом нигде ней не пользуешся?
Вот обьясни, зачем ты пишеш эту строку
C++
1
#include<math.h>
Ты где то используеш тригонометрические функции, математические функции? Зачем оно тебе надо? Хочеш, я могу тебе много библиотек назвать, значит ты будеш знать что такие есть, НО ЭТО РАЗВЕ ПОВОД ВСЕХ ИХ ПОДКЛЮЧАТЬ???
Еще раз повторю, учитесь выравнивать код. Я уже не требую табуляции ставить, но вот этот кусок
C++
1
2
3
4
5
6
7
for(int i=0;i<10;i++)
{
if(n[i]==0) count++;
if(n[i]<n[min]) min=i;} for(i=min+1;i<10;i++)
{
sum+=n[i];
cout<<"kilkist elem. mas., cho rivni nulu: "<<count<<endl;
был бы он немного сложнее его бы никто не стал читать
№16
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
void Mid(float matr[3][3])
{
    float mid=0;
    int i, j;
    for(i=0;i<3;++i,cout<<'\n')
        for(j=0;j<3;++j)
            mid+=matr[i][j];
    mid/=(3 * 3);
    for(i=0;i<3;++i)
        for(j=0;j<3;++j)
            if(!matr[i][j])
                matr[i][j]=mid;
}
int CountZero(float matr[][])
{
    int i, j;
    int count(0);
    for(i=0;i<3;++i)
        for(j=0;j<3;++j)
            if(!matr[i][j])
                count++;
    return count;
}
int main()
{
    const int n=3,m=3;
    int i,j,count=0;
    float matr[n][m]={1, 0, 1, 0, 1, 0, 1, 0, 1};
    for(i=0;i<n;++i,cout<<'\n')
        for(j=0;j<m;++j)
            cout<<matr[i][j]<<' ';
    cout<<"\nKolicgestvo nylei:\n"<<CountZero(matr);
    cout<<"\nRezyl'tat:\n";
    Mid(matr);
    for(i=0;i<n;++i, cout<<'\n')
        for(j=0;j<m;++j)
            cout<<matr[i][j]<<' ';
    cout<<'\n';
    return 0;
}

№13
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
int Sum(int n[], int m)
{
    int min(0), sum(0);
    for(int i=0;i<m;i++)
        if(n[i]<n[min])
            min=i;
    for(int i=min + 1;i<m;i++)
        sum+=n[i];
    return sum;
}
int CountZero(int n[], int m)
{
    int count(0); 
    for(int i=0;i<m;i++)
        if(n[i]==0)
            count++;
    return count;
}
int main()
{
    const int n = 10;
    int mas[10] = {2, 5, 0, -20, -5, 9, 0, 13, -6, 25};
    cout<<"kilkist elem. mas., cho rivni nulu: "<<CountZero(mas, n)<<endl;
    cout<<"Suma elementiv masivu, cho roztachovani pisl. min. elem.: "<<Sum(mas, n)<<endl;
    return 0;
}
Yandex
Объявления
20.08.2009, 10:58     с++ задачи на массивы и матрицы
Закрытая тема Создать тему
Опции темы

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