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

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

Войти
Регистрация
Восстановить пароль
 
 
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
#1

массив - C++

23.11.2009, 18:58. Просмотров 1673. Ответов 22
Метки нет (Все метки)

Массив M (100) содержит целые числа. Поменять знак у элементов, номер которых оканчивается на 2 или на 9.
подскажите пожалуйста как вводить элементы массива с клавиатуры
я знаю часть программы и проверьте пжлста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
int main()
{ 
   int mas[30];
int i;
   for(i=0;i<30;i++)
    printf("%d ",mas[i]);
    
  if((i%10==2)&&(i%10==9))
  {
    mas[i]-=2*mas[i];
 
}
    
    printf("%d ",mas[i]);
    
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2009, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

22
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:07 #2
Поправил у тебя часть кода
C++
1
2
3
4
5
6
7
8
9
10
   for(i=0;i<2;i++)
    {
    cin>>mas[i];
  if((mas[i]%10==2)&&(mas[i]%10==9))
  {
    mas[i]-=mas[i];
}
    cout<<mas[i]<<"\n";
    }
    getch();

Насчет "оканчивается номер" я не совсем понял
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:23  [ТС] #3
ваша программа не работает...
и еще в задании сказано номер элемента а не сам элемент,
все равно спасибо

Добавлено через 5 минут
ну то есть каждый 2,9,12,19,22,29 и т.д. элемент меняет знак
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:36 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vcl.h>
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
using namespace std;
void main()
{
int mas[10];
int i;
   for(i=0;i<10;i++)
    {
    cin>>mas[i];
  if((i%10==2)&&(i%10==9))
  {
    mas[i]=-mas[i];
  }
    }
    cout<<mas[i]<<"\n";
    getch();
}

Так?
Компилит, работает неправильно.

Добавлено через 3 минуты
Сразу хочу обратить Ваше внимание, что здесь есть несколько ошибок.
Одна из них - то, что меняется знак массива, а не элемента

Я исправил ошибки именно в синтаксисе, а с алгоритмом подумайте.

Добавлено через 3 минуты
Алгоритм высчитывания верный, допер.
Но все равно он работает не как надо
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:37  [ТС] #5
mas[i]-=2*mas[i];
а почему тогда прога та не работает, уже не могу...
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:41 #6
Так Вы смотрите, что Вы делаете
mas[i]=2*mas[i]-mas[i]
Зачем это? Все равно получается тот же самый mas[i]
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:44  [ТС] #7
а разве
знак
mas[i]-=2*mas[i]
это же вот так, или я совсем крышу потерял
mas[i]=mas[i]-2*mas[i]

Добавлено через 2 минуты
а прога выдает все время 0, с чего бы это? как вы думаете?
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:45 #8
Ах.. Нет, это, оказывается, я крышу потерял.
Теперь понятно.
Но Вы все равно вычитаете из массива квадрат массива, хотя надо менять знак у элемента
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:47  [ТС] #9
почему квадрат?
я написал что у элемента с i порядком отнимаю удвоенное произведение этого же элемента, и следовательно мы получаем - элемент, разве не так?
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:48 #10
Да вот потому что.
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 <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
using namespace std;
void main()
{
int mas[10];
int i=1,k;
   for(k=0;k<=9;k++)
    {
    i++;
    cin>>mas[i];
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
    }
    cout<<mas<<"\n";
    getch();
}
Потестите. Ничего он не выведет.
Неправильно считает номер элемента массива.

Добавлено через 43 секунды
Цитата Сообщение от so1o Посмотреть сообщение
почему квадрат?
я написал что у элемента с i порядком отнимаю удвоенное произведение этого же элемента, и следовательно мы получаем - элемент, разве не так?
Да, да.
Мне, пожалуй, спать пора.
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:52  [ТС] #11
нет 2*элемент ((:

Добавлено через 25 секунд
т.е. 1 элемент - 2 элемента=-элемент ??

Добавлено через 2 минуты
ахх жаль... мне это теперь самому доделавать придется, ибо потом сдавать...
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:52 #12
C++
1
2
3
4
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
Потестите цикл вот этот. Он не будет выводить.
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:54  [ТС] #13
он мне выдает вообще бяку
0xffe2
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
23.11.2009, 19:56 #14
Я это дал, чтобы Вы вставили в программу и погоняли.
О.К. вот весь код. Пробуйте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
using namespace std;
void main()
{
int mas[10];
int i=0,k;
   for(k=0;k<=9;k++)
    {
    cin>>mas[i];
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
    }
    cout<<mas[i]<<"\n";
    getch();
}
Он должен выводить "Хеллоу Ворлд" когда остаток от деления номера элемента массива равен 2 или 9.
0
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
23.11.2009, 19:59  [ТС] #15
во первых у меня проблема,
у меня нет библиотеки vcl.h
во вторых программа почему то показывает последнюю цифру, непонятно почему...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 19:59
Привет! Вот еще темы с ответами:

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. - C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... ...

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. - C++
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
23.11.2009, 19:59
Ответ Создать тему
Опции темы

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