пожалуйста помогите с программами по С++

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: пожалуйста помогите с программами по С++

Lakomka » 18 окт 2005, 15:10

упс... пасибо, меня как котенка маленького мордочкой в каждую строчку тыкать надо, везде напортачу... :o ops:

Kolinus » 18 окт 2005, 13:56

и чему удивляться ????
что написано то и делает
ты i наращиваешь, но нигде его не применяешь - что тебе непонятно ?
и зачем тут вообще цикл ?

Lakomka » 18 окт 2005, 10:45

ммм.. получилось :P
теперь заморочка вот на чем
Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака, прога запускается, но когда ввожу строку (например 5А3) результат выдает не тот что нужно, она на каждую совпадающую букву или цифру в строке пишет да да да

Код: Выделить всё

#include <iostream>
using namespace std;
#include <stdio.h>
#include <windows.h>
#include <string.h>

void main ()
{

char str[128];
 
  CharToOem("Введите строку",str);cout<<str;cin>>str;

int i; 
for(i=0;i<strlen(str);i++) 
{ 
if (strspn(str, "0123456789abcdefABCDEF") == strlen (str))

{ 	cout << " yes "  << endl;} 

else {cout << " no "  << endl;}
} }

Kolinus » 17 окт 2005, 16:04

объясняю на примере
сверху послдеовательность снизу номер цифры
пусть тебе ввели 11
110100100010000100
123456789012345678
в цикле начинаешь
11-1=10-2=8-3=5-4=1<=5 => 1
пусть ввели 12
12-1=11-2=9-3=6-4=2<=5 => 0
там же так и написано ;)

Lakomka » 17 окт 2005, 10:13

бр-рррр первую про k-ю цифру последовательности так и не поняла :( а с матрицей спасибо, получилось :wink:

Kolinus » 13 окт 2005, 19:30

последняя - ваапще красота
смысл такой - вычитаешь из введенного числа последовательно все натуральные числа
то есть 1 2 3 и тд как только остается число меньшее чем следующее вычитаемое число то выходишь из цикла и смотришь - если единица то будет 1 если другое число - то 0

Kolinus » 13 окт 2005, 18:59

сорри m[--j]
либо
int j=k-1;
for(int i=0;i<k;i++){
sum+=m[j];
j--;
}

Kolinus » 13 окт 2005, 18:57

вторая - ортоганальная диагональ - енто диагональ которая начинается справа сверху и оканчивается слева снизу отсюда имеем
когда m - целевая матрица
int sum=0;
int j=k;
for(int i=0;i<k;i++){
sum+=m[j--];

Lakomka » 13 окт 2005, 11:44

Вот эти...

Задача 1. Дано натуральное число k. Определить k-ю цифру последовательности, где выписаны подряд степени числа 10

Задача 2 Дана квадратная матрица размерности K<20. Найти сумму ее элементов, находящихся на диагонали, "ортогональной" главной.

Kolinus » 12 окт 2005, 20:37

За счастье бороться надо ;)
Будет время - посмотрю не будет - не посмотрю
а какие именно две ?

Вернуться к началу