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

не могу закончить программу. основу (как я считаю) я написала. доработать не получается - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напишите функцию, которая принимает буфер памяти и возвращает число лонг. Известно, что передается некая структура и число, которое нужно извлечь, нач http://www.cyberforum.ru/cpp-beginners/thread539614.html
Напишите функцию, которая принимает буфер памяти и возвращает число лонг. Известно, что передается некая структура и число, которое нужно извлечь, начиная с пятого байта. long SomeFunk(const char* Buffer) { int Count; Count=0; long LongBuffer; while(1) { *Buffer++;
C++ Контейнеры Описать абстрактный класс Дерево с информацией о названии, возрасте, типе (лиственное/хвойное). Описать класс-наследник Лесное дерево с доп. информацией о количестве древесины. Описать класс-наследник Плодовое дерево с доп. информацией о массе урожая и средней продолжительности хранения. Реализовать класс Контейнер_Деревьев на базе вектора. В контейнере нужно: 1. Реализовать метод вывода... http://www.cyberforum.ru/cpp-beginners/thread539604.html
C++ Удаление повторяющихся символов
Задача банальна. Удалить повторяющиеся символы в строке. В интернете шарил, предложенные варианты слишком сложные и непонятные. Язык си, просто си.
C++ Нужна сорировка методом вставки
Имеется следующая программа. #include <iomanip.h> #include <fstream.h> #include <stdlib.h> #include <string.h> #include <io.h> #define MARKA 10 #define S_N 10 #define HARAKTER 30
C++ Количество элементов в list http://www.cyberforum.ru/cpp-beginners/thread539575.html
Доброго времени суток. Подскажите пожалуйста как определить количество имеющихся элементов в list?
C++ Почему не работает функция? Вот понадобилась функция для взятия остатка от деления нецелых чисел написал такую: long double OperationDouble( long double a , long double b ) { long double dop; dop = a - ( b * static_cast<long>( a / b ) ); return dop; } Почему с целыми числами ( например 101 )работает прекрасно а с нецелыми (например 101.2)неправильно работает дайте пожалуйста верное решение подробнее

Показать сообщение отдельно
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
05.04.2012, 15:51     не могу закончить программу. основу (как я считаю) я написала. доработать не получается
Госспади, зачем же класс?
Просто динамический 2-х мерный массив.
C++
1
2
3
int* *mas=new int*[n];
for(int i=0; i<n; i++)
mas[i]=new int[m];
Массив n на m

Добавлено через 16 минут
C++
1
2
3
4
5
6
7
8
9
//ввод элементов
void massiv()//А как вы будете использовать mas вне этой функции? Вы же его не вывели!
{ int mas[3][4];
    for (int i=0; i<3; i++)
    for (int j=0; j<4; j++)
    {
        scanf("%d",&mas[i][j]);
    }
}
Меняем на
C++
1
2
3
4
5
6
7
8
9
10
11
int* *massiv()
{
int* *mas=new int*[3];//Обьявление двухмерного динамического массива -- и не надо классов
for(int i=0; i<3; i++)
{
mas[i]=new int[4];
for(int j=0; j<4; j++)
scanf("%d",&mas[i][j]);
}
return mas;//А здесь -- вывели
}
C++
1
2
3
4
5
//уменьшить элементы столбца на величину их индекса
void umenshenie (int mas)//mas -- указатель, и имеет тип int* *
{for (int i1=0; i1<3; i1++)
    mas[i1]=mas[i1]-i1;//mas[i1] -- указатель на i1 столбец, и имеет тип int*
}
Исправляем на
C++
1
2
3
4
5
void umenshenie (int* *mas)
{for (int i=0; i<3; i++)//Поверьте, можете спокойно использовать i
for(int j=0; j<4; j++)
    mas[i][j]=mas[i][j]-i;
}
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
//количество нечетных элементов
void kol(int mas)//и здесь тоже int* *mas
{int i, s;
s=0;
for (int i=0; i<3; i++)
    for (int j=0; j<4; j++)
    {
        if (mas[i][j]%2!=0)
            s+=mas[i][j];//Раз уж количество, то может их будем по единичке считать? Т.е. s+=1?
    }
    printf("%d\n",s);
}
 
void f(int mas)//и здесь тоже int* *mas
{
for (int j=0; j<4; j++)
    if (mas[0][j]!=0) 
    {
        umenshenie(mas);
        kol(mas);
    }
}
void print(int mas) //и здесь тоже int* *mas
{
    int i,j;
    for (i=0;i<3;i++)
    for (j=0; j<4; j++)
        printf("%d",mas[i][j]);
    puts("\n");
}
C++
1
2
3
4
5
6
7
8
int main()
{int mas;
    massiv();
    f(mas);
    print(mas);
    getch();
    return 0;
}
А здесь поменяем на
C++
1
2
3
4
5
6
7
8
int main()
{
    int* *mas=massiv();
    f(mas);
    print(mas);
    getch();
    return 0;
}
 
Текущее время: 09:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru