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

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

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

c++ пожалуйста помогите подправить код - C++

16.01.2009, 16:45. Просмотров 996. Ответов 10
Метки нет (Все метки)

Нужно переставить местами два указаных столбца(q,w).Написал этод код,а он переставляет только 1-3 и 2-3 столбцы и это при размере массива 3 на 4.При других размерах вобще молчит.Помогите кто сможет!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   int q,w,e,u,o,z;
   cout<<"vvod stolb"<<"\n";
    cin>>q;
    cin>>w;
    for(i=0;i<y;i++)
   {
   for(j=0;j<x;j++)
   {
       if(j=q) z=a[i][j],o=i,u=j;
        if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;
        }         
   }
   for(i=0;i<y;i++)
    {
        for(j=0;j<x;j++)
        {
        cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\n";
        }
        }
    getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2009, 16:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос c++ пожалуйста помогите подправить код (C++):

помогите пожалуйста подправить код - C++
C++.Нужно удалить элемент из массива.Выдает ошибку - : error C2105: '--' needs l-value .Подскажить что не так,а то я еще в этом...

пожалуйста, подправить код - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include&lt;stdio.h&gt; using namespace std; int sd(int n, int d = 1) { if(n == 0) ...

Помогите подправить код - C++
Задача. Вводится n-значный массив состоящий из целых элементов. Надо найти произведение четных элементов. Но у меня почему то не работает....

Помогите закончить код, пожалуйста! - C++
почти закончил программу! ну не знаю, что дальше делать! помогите пожалуйста! Расчет зарплаты. структура должна иметь такие поля: ...

надо немного подправить, пожалуйста - C++
вроде ведь и не сложно, но я что-то совсем не понимаю. как сделать, чтобы при вводе номера группы не цифрами, а буквами, не выдавало...

при вводе четного числа. все операции необходимые выполняются, но потом переходит на нечетные.есть код. помогите, пожалуйста - C++
вот при вводе нечетного числа, все идет хорошо. а как введу четное, то при выполнении операций, программа переходит дальше по тексту, будто...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
16.01.2009, 16:50 #2
C++
1
2
3
4
5
6
for (int i=0; i<y; i++)
{ temp=mass[i][w];
   mass[i][w]=mass[i][q];
   ma[i][q]=temp;
 
}
0
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
16.01.2009, 17:16  [ТС] #3
Цитата Сообщение от Фенрир Посмотреть сообщение
C++
1
2
3
4
5
6
for (int i=0; i<y; i++)
{ temp=mass[i][w];
   mass[i][w]=mass[i][q];
   ma[i][q]=temp;
 
}
ничего не изменилось
0
Lord_Voodoo
Супер-модератор
8589 / 2189 / 61
Регистрация: 07.03.2007
Сообщений: 10,890
Завершенные тесты: 1
17.01.2009, 11:53 #4
если я правильно понял задание, то это выглядит так:
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
 
#include <iostream>
#include <conio.h>
#include <malloc.h>
using namespace std;
int main()
{
   int temp, n, m, i ,j, q, w;
   int** mas;
   cout<<"vvod kol-va stolb"<<"\n";
   cin >> n;
   cout<<"vvod kol-va strok"<<"\n";
   cin >> m;
   mas = (int**) malloc (n*sizeof(int*));
   for(i = 0; i < n; i++){
     mas[i] = (int*) malloc (m*sizeof(int));
     for(j = 0; j < m; j++) cin>>mas[i][j];
   }
   cout<<"vvod stolbzi"<<"\n";
   cin>>q>>w;
   q--; w--;
   if(q > n){
     cout << "Error"<<endl;
     return 1;
   }
   if(w > m){
     cout << "Error"<<endl;
     return 1;
   }
   for(j=0;j < n;j++){
     temp = mas[j][q];
     mas[j][q] = mas[j][w];
     mas[j][w] = temp;
   }
   for(i = 0;i < n;i++){
     for(j = 0;j < m;j++){
       cout<<mas[i][j]<<" ";
     }
     cout<<endl;
   }
  getch();
}
0
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
17.01.2009, 21:23  [ТС] #5
Цитата Сообщение от WooDooMan Посмотреть сообщение
если я правильно понял задание, то это выглядит так:
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
 
#include <iostream>
#include <conio.h>
#include <malloc.h>
using namespace std;
int main()
{
   int temp, n, m, i ,j, q, w;
   int** mas;
   cout<<"vvod kol-va stolb"<<"\n";
   cin >> n;
   cout<<"vvod kol-va strok"<<"\n";
   cin >> m;
   mas = (int**) malloc (n*sizeof(int*));
   for(i = 0; i < n; i++){
     mas[i] = (int*) malloc (m*sizeof(int));
     for(j = 0; j < m; j++) cin>>mas[i][j];
   }
   cout<<"vvod stolbzi"<<"\n";
   cin>>q>>w;
   q--; w--;
   if(q > n){
     cout << "Error"<<endl;
     return 1;
   }
   if(w > m){
     cout << "Error"<<endl;
     return 1;
   }
   for(j=0;j < n;j++){
     temp = mas[j][q];
     mas[j][q] = mas[j][w];
     mas[j][w] = temp;
   }
   for(i = 0;i < n;i++){
     for(j = 0;j < m;j++){
       cout<<mas[i][j]<<" ";
     }
     cout<<endl;
   }
  getch();
}
выдает E:\12.01.09\n2m\n2.cpp(49) : warning C4715: 'main' : not all control paths return a value
0
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
17.01.2009, 22:15 #6
return 0; в конце добавь - ругаться перестанет.
0
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
17.01.2009, 22:31  [ТС] #7
выдает Debug/n3.exe : fatal error LNK1169: one or more multiply defined symbols found
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
18.01.2009, 03:25 #8
Цитата Сообщение от demanxxx Посмотреть сообщение
выдает Debug/n3.exe : fatal error LNK1169: one or more multiply defined symbols found
может
Цитата Сообщение от CheshireCat Посмотреть сообщение
return 0;
надо так
C++
1
2
3
getch();   
return 0;
}
!?

Добавлено через 1 минуту 48 секунд
demanxxx думаю поймешь.
1
Yar
0 / 0 / 0
Регистрация: 18.01.2009
Сообщений: 6
18.01.2009, 05:48 #9
if(j=q) z=a[i][j],o=i,u=j;
if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;

Первое, что бросается в глаза: операция сравнения == , а у тебя = . это присвоение.
Весь код не смотрел.
0
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
18.01.2009, 09:18  [ТС] #10
Цитата Сообщение от Yar Посмотреть сообщение
if(j=q) z=a[i][j],o=i,u=j;
if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;

Первое, что бросается в глаза: операция сравнения == , а у тебя = . это присвоение.
Весь код не смотрел.


if(j==q) o=i,u=j ;
if(j==w) e=a[i][j],a[i][j]=a[o][u],a[o][u]=e;
так заработало
0
Lord_Voodoo
Супер-модератор
8589 / 2189 / 61
Регистрация: 07.03.2007
Сообщений: 10,890
Завершенные тесты: 1
18.01.2009, 10:08 #11
demanxxx, вообще надо писать по стандарту int main, а перед последней закрывающей скобкой return 0;, хотя твой компилятор тебе просто предупреждение написал, что у тебя мэйн не возвращает значения...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2009, 10:08
Привет! Вот еще темы с ответами:

помогите подправить программу - C++
Здравствуйте, есть следующее задание: С клавиатуры ввести текст, признаком конца ввода считать точку. Создать две функции для работы с...

Подправить код - C++
Помогите пожалуйста, нужно подправить код: /* Дана целочисленная квадратная матрица. Опередить: 1) произведение элементов в тех...

Подправить код - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; const int n=10; float X; double sum(); int _tmain(int argc,...

Подправить код - C++
#include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;ctype.h&gt; using namespace std; int main () { const int n=20; char s; int k={...


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

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

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