Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Electricitygirl
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 26
#1

Не работает программа - C++

22.01.2011, 13:30. Просмотров 338. Ответов 3
Метки нет (Все метки)

Написать программу, которая в заданной матрице заменяет на нули те элементы, которые кратны 1 элементу строки. На си

#include<stdio.h>
#include<conio.h>
#define size 10
int main ()
{
float mas [size]={3,4,5,6,7,8,9,2,3,1};
int nol=0;
float del=mas[0];
int i=0;
while (i<size)
{
if (mas[i]%mas[0]==0)
{
del=mas[i];
nol=i;
}
i++;
}
mas[nol]=0;
for (i=0;i<size;i++)
{
printf ("%f",mas[i]);
}
}


Указывает ошибку в if (mas[i]%mas[0]==0), что мне нужно подставить, чтобы она заработала? Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 13:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает программа (C++):

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Программа работает в турбо си но не работает в дев си - C++
#include&lt;graphics.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;dos.h&gt; #define R &quot;C:\\TC\\bgi&quot; void...

Программа работает на Windows 7, но не работает на XP - C++
#include &lt;locale&gt; #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; int main () { std::string wont; size_t i; ...

Программа при релизе не работает, а при дебаге работает - C++
#include&lt;iostream&gt;; #include &lt;iomanip&gt; #include&lt;fstream&gt; using namespace std; void printMatrix (int **a, int n, int m) // функція...

Не работает программа - C++
Используя массив типа структура (с 6-10 элементов) составить программу, с помощью которой можно ввести в память компьютера данные из...

3
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
22.01.2011, 14:06 #2
Цитата Сообщение от Electricitygirl Посмотреть сообщение
if (mas[i]%mas[0]==0)
Так как mas- массив действительных чисел то % нельзя применить
И так как ваша програма заменяла только последнее число кратное первому в массиве, я немного переделал программу
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
#include<stdio.h>
#include<conio.h>
#define size 10
int main ()
{
int mas [size]={3,4,5,6,7,8,9,2,3,1};
//int nol=0;
//float del=mas[0];
int i=1;
 
while (i<size)
{
 if (mas[i] % mas[0] == 0)
 {
  mas[i]=0;
 }
 i++;
} 
 
for (i=0;i<size;i++)
{
printf ("%i ",mas[i]);
}
}
Для удобства и лучшей продуктивности еще можно заменить
C
1
2
3
4
5
6
7
8
9
int i=1;
while (i<size)
{
 if (mas[i] % mas[0] == 0)
 {
  mas[i]=0;
 }
 i++;
}
на
C
1
2
3
4
5
for(int i=1;i<size;i++)
{
 if (mas[i] % mas[0] == 0)
 mas[i]=0;
}
1
Josefina
11 / 11 / 1
Регистрация: 27.09.2010
Сообщений: 32
22.01.2011, 14:23 #3
И еще пример, как вариант)
В задании все таки написано матрица, а не массив, если я правильно понимаю

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
//первоначальная матрица
    int mass[3][3] = {2,3,4,5,6,7,8,4,5};
 
    //выводим эту матрицу на экран
    printf("Исходная матрица: \n");
    for (int i=0; i<3; i++)
    {
        for (int j=0; j<3; j++)
        {
            printf(" %i ", mass[i][j]);
        }
        printf("\n");
    }
    //делаем замену элементов на нули согласно условию
    for (int i=0; i<3; i++)
    {
        for (int j=1; j<3; j++)
        {
            if ((mass[i][j]%mass[i][0])==0) 
                mass[i][j] = 0;
        }
    }
    
    //выводим на экран результат после замены
    printf("После замены получаем: \n");
    for (int i=0; i<3; i++)
    {
        for (int j=0; j<3; j++)
        {
            printf(" %i ", mass[i][j]);
        }
        printf("\n");
    }
 
    _getch();
    return 0;
1
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
22.01.2011, 14:27 #4
Цитата Сообщение от Josefina Посмотреть сообщение
матрица, а не массив
Точно, разобрался в наработках, и совсем забыл))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 14:27
Привет! Вот еще темы с ответами:

Программа не работает - C++
Вроде написала задачу,она не работает,посмотрите пожалуйста... Добавлено через 15 секунд #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

C++ не работает программа - C++
Программа должна сравнивать последний символ строки с введённым, и если они совпадут счетчик++, но на scanf она почему то виснет, тоесть...

Не работает программа - C++
Сделать программу для введения с клавиатуры текста из 50 символов и вывода на экран кол-ва букв, которые входят в этот текст по одному...

Программа не работает - C++
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { int i,n; FILE *Result; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru