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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
#1

Шахматная доска и строка - C++

06.02.2010, 20:28. Просмотров 1262. Ответов 22
Метки нет (Все метки)

Есть 3 задачки, немного не соображу как их решить. Помогите горе-программисту

1) Поле шахматной доски определяется парой натуральных чисел, первое из которых задаст номервертикали, а второе- номер горизонтали. Даны натуральные числа k, l, m, n. Требуется выяснить, являются ли поля (k, l) и (m, n) полямиодного цвета.

2)В последовательности введённых символов (последний '$') определить порядковый номер первой буквы R (с учётом верхнего и нижнего регистров).

3) Распечатать в порядке убывания нечётные числа из диапазона [5.. 90], кратные 3 и не кратные 5 одновременно.

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2010, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шахматная доска и строка (C++):

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

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

шахматная доска - C++
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не более 8:1-е число номер вертикали (слева - направо),2-е...

Шахматная доска - C++
Шахматная доска содержит 8x8 клеток. Горизонтали и вертикали обозначаются цифрами 1-8. Написать программу, проверяющую, можно ли с первой...

шахматная доска - C++
Здравствуйте! Есть задача: дана шахматная доска размером NxN, нужно расставить N ферзей таким образом, чтобы они не атаковали друг...

Шахматная доска - C++
Даны координаты двух различных полей шахматной доски x1,x2,y1,y2(Целые числа лежащие в диапазоне от 1 до 8). Проверить истинность...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.02.2010, 20:37 #2
1.
C
1
2
3
4
if(((k+l)%2==1 && (m+n)%2==1) || ((k+l)%2==0 && (m+n)%2==0))
printf("Yes");
else
printf("No");
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
06.02.2010, 21:06  [ТС] #3
Спасибо! ещё 2 помогите!
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
06.02.2010, 21:19 #4
2.
C++
1
2
3
4
5
6
7
8
char str[300];
int i(0), len(strlen(str));
while(str[i] != 'R' || i < len) 
    ++i;
if(i == len)
    std::cout<<"Символ R не содержится";
else
    std::cout<<"Индекс = "<<i;
Добавлено через 1 минуту
3.
C++
1
2
3
for(int i = 90; i > 5; --i)
    if(i & 1 && !(i % 3) && i % 5)
        std::cout<<i<<' ';
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
06.02.2010, 21:22  [ТС] #5
Спасибо! сейчас постараюсь переделать на Си, если не трудно, помогите (может я и справлюсь, но всё же, лишний + не помеха).

подскажите, а как можно заменить
C
1
2
3
4
len(strlen(str));
while(str[i] != 'R' || i < len) 
    ++i;
if(i == len)
??
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
06.02.2010, 21:36 #6
Bloodykeeper, вот то что надо заменить - чистейший Си без плюсов
Тебе просто надо заменить cout на printf
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
06.02.2010, 21:38  [ТС] #7
а как в последней задаче сделать между числами пробелы? а то они все вместе печатаются

C
1
2
3
4
5
6
7
8
#include <stdio.h>
#include <conio.h>
main() {
    int i;
for(i = 90; i > 5; --i)
    if(i & 1 && !(i % 3) && i % 5)
        printf("%d", i);
}
??

во второй задачи, переписал вот так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
 
main() {
 
char str[300];
int i(0), len(strlen(str));
while(str[i] != 'R' || i < len) 
    ++i;
if(i == len)
    printf("There are no symbol R");
else
    printf("Number of R =%d",i);
}
пишет ошибки.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
06.02.2010, 22:04 #8
C
1
printf("%d ", i);
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
06.02.2010, 22:16  [ТС] #9
M128K145, и вправду)) как я не додумался... а как со второй быть? помогите исправить!!!
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
06.02.2010, 22:21 #10
Ну вообще, strlen вызывается с помощью
C
1
#include <string.h>
Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
char str[300];
int i(0), len(strlen(str));
while(str[i] != 'R' || i < len)
    ++i;
if(i == len)
    printf("Символ R не содержится");
else
    printf("Индекс - %d",i);
}
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
06.02.2010, 22:28  [ТС] #11
Darky,

неть. Уже попробовал, ругаетсо матерным языком и категорически отказывается запускать бедную прогу
А ругается это заразко на illegal index и на пропущенные знаки препинания перед const.

В чём может быть проблема?
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
06.02.2010, 23:13 #12
Bloodykeeper, забавно)) Ты действительно не понял в чем дело? Может все же добавишь в мой код ввод строки, а?
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
07.02.2010, 11:02  [ТС] #13
M128K145, кпц))) на сон грядущий головешка не думает я сделал вот так, но она при выполнении ругается, на len- unresolved symbol. Скажите как исправить?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
char str[300];
int i=0;
printf("Enter the string:\n");
len(strlen(str));
while(str[i] != 'R' || i < len)
    ++i;
if(i == len)
    printf("There are no symbol R");
else
    printf("symbol R - %d",i);
}
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.02.2010, 11:17 #14
Просто переписать 8 строку так
C++
1
int i = 0, len;
И опять же, я не вижу ввод строки
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
07.02.2010, 12:29  [ТС] #15
M128K145,
я сделал вот так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
char str[300];
int i = 0, len;
printf("Enter the string:\n");
gets(str);
len=strlen(str);
while(str[i] != 'R' || i < len)
    ++i;
if(i == len)
    printf("There are no symbol R");
else
    printf("symbol R - %d",i);
}
Но при этом R всё время равняется 2216... почему?? что нужно сделать, чтобы исправить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2010, 12:29
Привет! Вот еще темы с ответами:

С++ Шахматная доска - C++
Помогите пожалуйста с заданием. Нужно сделать шахматную доску 16*16 и пользователь должен ввести координаты звездочек которые расположатся...

Шахматная доска - C++
Ребят, сейчас друг сидит на собеседовании, ему досталась какая-то слишком легкая задача (хотя работа вообще с кодингом не связана), но...

Шахматная доска - C++
Ребята, помогите! Есть код на С++, выводящий на экран шахматную доску, нужно его дополнить обозначением клеток (по горизонтали 1,2,3... , и...

Шахматная доска - C++
Есть шахматная доска (8*8). Нужно с помощью фигуры &quot;конь&quot; обойти все 64 клетки шахматной доски. Что-то скопипастил, но работать не хочет....


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

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

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